severity: significant clear

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