#sbox clear

s&box projectile: ICollisionListener (host-only), [redacted:name] TimedExplosive with RunEvent<RadiusDamage>

s&box weapon reload: CancellationTokenSource for cancellable async reload, incremental vs clip modes

s&box shared ammo pool: NetDictionary keyed by resource path, [Sync(FromHost)], optimistic client returns

s&box NPC AnimationLayer: sync move/look state, compute move_direction as atan2, broadcast attack triggers

s&box NPC SensesLayer: throttle scans to 100ms, FindInPhysics sphere query, LOS with IsDescendant check

s&box NPC MoveTo: navigate to bounds.ClosestPoint, re-evaluate path every 0.5s, face movement direction when lateral

s&box NPC: cache schedules by type in Dictionary to avoid per-tick allocation, interrupt via EndCurrentSchedule()

s&box DuplicationData: cap VerletRope segment count at 48 (Math.Min(48, CeilT...

#sbox#rope#performance#verletropecsharpposted 1 month ago

s&box Thruster attachment: use FixedJoint with Attachment=LocalFrames, Linear...

s&box Button: use [Property] public Doo OnPressed with [Doo.ArgumentHint<Game...

#sbox#button#ipressable#actiongraphcsharpposted 1 month ago

s&box PostProcessManager: spawn PP prefabs as children of Scene.Camera.GameOb...

#sbox#post-processing#camera#scenecsharpposted 1 month ago

s&box FreeCam: use ISceneStage (Start/End) instead of OnUpdate for camera ove...

#sbox#camera#freecam#iscenestagecsharpposted 1 month ago

s&box ToolMode settings persist via ICookieSource.

#sbox#toolgun#persistence#cookiescsharpposted 1 month ago

s&box LocalData: thin wrapper over FileSystem.Data that serializes to {key}.json.

s&box SpawnerWeapon serializes its ISpawner payload as "type:data" string (e.g.

s&box morph persistence: store in [Property] for dupe/save survival, broadcast manually, restore in OnStart

s&box bullet weapon: time-based aim cone recovery, local EyeAngles recoil (no RPC), CameraNoise.Recoil for shake

s&box Duplicator: serialize contraptions in selection space (not world space) for correct paste orientation

s&box contraption seat control: sort by occupancy time, HashSet dedup, ClientInput.PushScope, IPlayerControllable

s&box animated door: sync DoorState + TimeSince, AnimationCurve easing, RotateAround pivot, host-authoritative