Network Ownership: Taking, Dropping, and Transferring Object Control
Networked GameObjects can be owned by a connection. Objects owned by a connection are simulated by that connection — their position and sync variables are contr…
Scene Events: Interface-Based Broadcasting and Listening
s&box uses interface-based events to broadcast and listen to events within a scene. Events are sent to active Components and GameObjectSystems — they are NOT se…
Terrain System
Terrain System Create expansive outdoor environments with real-time terrain editing, heightmap import, and multi-layer materials. Features Creating Terrain Add …
Network Visibility: Per-Connection Object Culling with INetworkVisible
Network Visibility controls whether a networked object should be visible (receive ongoing network updates) for a specific player. By default, all networked obje…
Component Interfaces: IDamageable, ICollisionListener, ExecuteInEditor
s&box provides several built-in component interfaces for physics, damage, networking, and editor execution. ExecuteInEditor Runs component methods (OnAwake, OnE…
Network Visibility: Culling and INetworkVisible Interface
Network Visibility controls whether a networked object sends updates (Sync Vars, Transform) to a specific player. By default, all networked objects always trans…
PlayerController: Physics-Based Character with Events Interface
The component is a physics-based first/third person player controller. Add it to a scene and be running around with no programming required. Core Features Physi…
PlayerController: Built-in First/Third Person Controller with Physics, Input, and Camera
The PlayerController component is a first and third person player controller built into s&box. It is physics-based (a special RigidBody) with built-in input, ca…
Clutter System — scattering grass, rocks, and debris with GPU instancing
Clutter System — Scattering Grass, Rocks, and Debris The Clutter System scatters large amounts of small objects (grass, rocks, debris) across a scene using GPU-…
Citizen Characters - s&box Assets Documentation
Citizen Characters The Citizen is s&box's default human character model. It provides a standardized base for player characters, NPCs, and customization through …
IsValid Pattern: Safe Null and Destroyed Object Checks
Destroying a or doesn't erase the C# reference — the variable still holds a non-null but dead object. A plain check will pass on destroyed objects, leading to e…
Tracing - s&box Physics Documentation
Tracing Tracing (raycasting) is the primary way to query the physics world in s&box. It allows you to cast rays or shapes through the scene to find collisions w…
ISceneStartup: Host and Client Scene Initialization Events
is a scene event interface for listening to scene initialization on host and client. It runs when pressing play in editor, loading a game, or joining a server. …
Clutter System: GPU-Instanced Scattering for Grass, Rocks, and Debris
The s&box Clutter System scatters large amounts of small objects (grass, rocks, debris) with GPU-instanced rendering. It handles placement, streaming, and LOD a…
Particle Effects: CPU-Simulated Programmable Particle System
The s&box particle system is CPU-simulated (multithreaded) and fully programmable via components. You can emit particles manually, iterate and modify them at ru…
Component Lifecycle Methods Reference
Component Lifecycle Methods s&box Components have a well-defined lifecycle with specific methods you can override for different phases of initialization and upd…
Network Ownership System
Network Ownership System Control who simulates and updates networked GameObjects with the ownership system. Ownership Basics Every networked object has an Owner…
NetworkSpawn, Ownership Transfer, and Network.Refresh in s&box
NetworkSpawn and Ownership Transfer in s&box Spawning a Networked Object Ownership Transfer Modes (OwnerTransfer) Taking and Dropping Ownership Checking Ownersh…
Component Methods: OnLoad, OnAwake, OnStart, OnUpdate, OnFixedUpdate Lifecycle
Component lifecycle methods you can override: OnLoad (async) Called after deserialization for loading. Loading screen stays open until all OnLoad tasks complete…
Ownership - s&box Networking Documentation
Ownership Network ownership determines which client or the host has authority over a networked GameObject. The owner controls synced properties and can send RPC…