Getting Started - s&box Documentation
Getting Started S&box is coded in C#. Under the hood, it uses the Source 2 engine (CS2, HL:Alyx, DOTA2) and some of its systems: rendering, resources, physics, …
s&box Global.ISpawnEvents: Spawn event callbacks
Global.ISpawnEvents Interface API Reference Global.ISpawnEvents is an interface for Components that want to listen to spawn events across the scene. Implement t…
IPlayerControllable example: ThrusterEntity
IPlayerControllable Example: ThrusterEntity ThrusterEntity demonstrates how to implement IPlayerControllable for a thruster that responds to player input while …
s&box IInspectorEditor: Custom inspector panels
IInspectorEditor Interface API Reference IInspectorEditor is an interface for custom inspector panels that can edit selected GameObjects in the s&box editor. Pa…
s&box EmitterEntity: Particle emitter entity
EmitterEntity Component API Reference EmitterEntity is a world-placed SENT that spawns and controls a particle/VFX emitter. The emitter prefab is defined by a S…
ControlSystem Pattern for Seat/Vehicle Control
ControlSystem - Seat/Vehicle Control Management A that manages control transfer between players and seated entities (vehicles, chairs). Handles input routing an…
s&box IToolActionEvents: Tool action callbacks
IToolActionEvents Interface API Reference IToolActionEvents allows listening to tool actions across the scene. Implement this on a Component to receive callback…
BaseCarryable.IEvent interface
BaseCarryable.IEvent Interface Scene event interface for world model lifecycle events on s&box carryable items. Methods OnCreateWorldModel Called when the world…
s&box ControlSystem: Chair control management
GameObjectSystem that manages chair control with seat priority sorting. Routes player input to controllable objects using ClientInput.PushScope(). Behavior Sort…
s&box BaseNpcLayer: NPC behavior layer base
Abstract base class for NPC behavior layers. Layers provide specific services (navigation, senses, speech) for tasks to use. Properties Methods Usage Inherit fr…
s&box LinkedGameObjectBuilder: Connected object collection
Utility class for collecting connected GameObjects. Used by the Duplicator to find all objects that should be included in a duplication. Properties Methods Beha…
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…
NavMesh Links: Custom Jump and Ladder Traversal for AI Agents
NavMesh Links connect disconnected NavMesh regions (jumps, ladders, teleports). By default agents linearly interpolate between endpoints, but you can implement …
NavMesh Links: Custom Agent Traversal with Jump, Ladder, and Physics Examples
NavMesh Links in s&box connect disconnected navigation areas, allowing agents to jump, climb ladders, or traverse gaps. Add a NavMeshLink component to a GameObj…
NavMesh Area Costs and Filters: Weighted Pathfinding and Agent Restrictions
NavMesh Areas in s&box can be used to mark sections as more costly to traverse (e.g. shallow water) or to prevent certain agents from entering specific areas. C…
RPC Messages: Remote Procedure Calls with Broadcast, Owner, and Host Targets
Components can contain RPCs (Remote Procedure Calls). An RPC is a function that when called, is also called remotely on other clients. Broadcast RPC makes a fun…
Networked Objects: NetworkSpawn, Interpolation, and Network Modes
Any GameObject can become a networked object by calling on it. It will then be sent to all clients and can have Sync Properties and RPC Messages. Network Mode I…
Async Components: Coroutine-Style Async Tasks on the Main Thread
Async tasks in s&box run on the main thread by default, operating like coroutines. They are the recommended replacement for coroutines in s&box. Basic Async Fra…
WebSockets: External Server Communication with Auth Token Support
s&box allows WebSocket connections to interface with external servers. Common uses include custom networking and persistent data storage outside the local files…
Custom Snapshot Data: INetworkSnapshot for s&box Joining Client Data Transfer
s&box Components can write and read custom data during the network snapshot process by implementing . The snapshot is sent to clients when they join a s&box mul…