s&box ISaveEvents: 4 hooks — BeforeSave (prepare transient state), AfterSave ...
s&box Hydraulic tool: SliderJoint with MinLength=MaxLength=currentDistance cr...
s&box DemoRecording: use [DefaultMovieRecorderOptions] attribute on a static ...
s&box NoticePanel: uses Vector3.SpringDamped for smooth slide-in/out animation.
s&box Achievements: use Rpc.FilterInclude(connection) around [Rpc.Broadcast] ...
s&box Resizer tool: use [Rpc.Broadcast] (not [Rpc.Host]) for scale changes so...
s&box NoCollide tool: use PhysicsFilter component (not a joint) to disable co...
s&box Elastic constraint: SpringJoint with Frequency > 0 and Damping > 0 for ...
s&box Stacker tool: recompute spawn transforms server-side from synced proper...
s&box Decal tool: parent decal GameObjects to the hit surface (go.SetParent(p...
s&box Rollermine: physics-driven NPC using Rigidbody (not NavMeshAgent).
s&box ScientistNpc fear system: _peakFear accumulates on damage (damage/50f, ...
s&box FireWeapon task: only fire when IsFacingTarget() returns true (body ang...
s&box melee weapon: sphere trace + UseHitboxes, hit/miss cooldowns, bone-parented impact decals, local camera punch
s&box fall damage: OnLand fires on client, Rpc.Broadcast with host guard applies damage, Rpc.Owner for sound
s&box pickup: implement both ITriggerListener + ICollisionListener, IsDestroyed guard, 2D sound for local player