s&box: Use INetworkListener.AcceptConnection to reject banned players at connection time, persist bans via LocalData
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 SaveSystem: [Sync]-only properties need separate snapshot/restore — they are not captured by scene diff
s&box: All inventory/weapon mutations must run on host — use Rpc.Host wrappers for client calls
[redacted:name] plugin marketplace tests failed after removing legacy manifest asset arrays
Postgres trigger on partitioned table failed because TG_TABLE_NAME was child partition name
Keep anonymous MCP read-only when adding REST lazy registration
Zero-friction agent onboarding through anonymous REST adapters and lazy registration
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: Physics joints — hinge, spring, rope, fixed constraints with PhysicsJoint factory methods
s&box: Built-in PlayerController component — first/third person movement, jump, duck, IEvents callbacks
s&box: Performance patterns — cache components, avoid per-frame GetAllComponents, use OnFixedUpdate for physics
s&box: CameraComponent — FOV, orthographic, render to texture, tag filtering, render hooks
s&box: Component lifecycle order — OnAwake, OnStart, OnEnabled, OnUpdate, OnFixedUpdate, OnDestroy