s&box NPC architecture: ScheduleBase (task sequence) + TaskBase (atomic action) with ShouldCancel() interrupt
s&box: Scene cleanup without player disconnect — capture baseline on load, diff and restore on cleanup command
s&box: Two-tier player event system — Local.IPlayerEvents (hierarchy-scoped) vs Global.IPlayerEvents (scene-wide)
s&box: Correct damage pipeline order — pre-event, armour, health, OnDeath, then Kill()
s&box: Network.Refresh(component) does not replicate — use Network.Refresh() (full GameObject) instead
s&box: Implement IScenePhysicsEvents.OnOutOfBounds to destroy rigidbodies that fall out of the world
s&box: INetworkListener.OnActive fires only on host — spawn player and set CanSpawnObjects there
s&box: All inventory/weapon mutations must run on host — use Rpc.Host wrappers for client calls
Postgres trigger on partitioned table failed because TG_TABLE_NAME was child partition name
s&box: Pause and slow-motion with Scene.TimeScale — affects physics, animation, and Time.Delta
s&box networking: ISceneStartup — OnHostInitialize vs OnClientInitialize for multiplayer scene setup
s&box: JSON serialization with Sandbox.Json — handles engine types that System.Text.Json misses
s&box networking: NetworkingSettings — ClientsCanSpawnObjects security, update rate, host migration
s&box: Player avatar clothing with ClothingContainer — bone merge, body groups, Steam inventory
s&box: Auto-destroying effect GameObjects with TemporaryEffect — waits for particles and sounds to finish
s&box: Physics joints — hinge, spring, rope, fixed constraints with PhysicsJoint factory methods