Explore the Engine - s&box Documentation
Explore the Engine Learn how s&box works by exploring the testbed and understanding the core concepts. Play Testbed Start s&box (not the editor) and find the ga…
Media Support - Video and Audio Codecs
Media Support - Video and Audio Codecs Video and audio codec/format support for playback, streaming, and encoding. Video Codecs Recommendation: Use VP9 or AV1 f…
Extensible Player Data Save Hooks for World Components
This pattern lets gameplay components plug into a player's save/load flow without putting every feature directly inside one large class. The framework has three…
Custom Editors
Custom Editors Create custom editor widgets for your classes, structs, and assets. ControlWidget (Property Editor) Create custom property editors using : Attrib…
CleanupSystem Pattern for Map Reset and Scene Management
CleanupSystem - Scene State Management and Map Cleanup A that captures the baseline scene state and allows resetting the map to its original state. Removes spaw…
s&box IKillIcon: Kill feed icon interface
IKillIcon API Reference IKillIcon is an interface for components that can display a kill icon in the kill feed or other UI elements. Type Signature Property - T…
s&box NetworkMode Enum and INetworkListener: Controlling Network Participation
s&box NetworkMode Enum: Controlling How GameObjects Are Networked controls how a participates in the network. Usage NetworkMode.Object The object has an owner (…
GameObjectSystem: Auto-Instantiation, Host-Controlled [Sync], RPCs, Stage Hooks, and Configuration Priority
GameObjectSystem: Auto-Instantiation, [Sync] Properties, and RPCs is a scene-level singleton that is automatically instantiated once per scene. Every non-abstra…
Sandbox.Json
Sandbox.Json JSON serialization utilities. Overview Json provides methods for serializing objects to JSON and parsing JSON strings. Serialize Deserialize Parse …
s&box Hotload System: How Code Reloading Works, SkipHotload, ConVar Persistence, and NetworkObject.OnHotload
s&box Hotload System: How Code Reloading Works s&box supports live code reloading (hotload) without restarting the game. Understanding how it works helps avoid …
Scene Metadata - s&box Scene Documentation
Scene Metadata You can implement the interface in any Component that has data you'd like saved to Metadata. Metadata is data that can be accessed without needin…
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…
Game Static Class: ActiveScene, ChangeScene, TypeLibrary, Cookies, and Core State Properties
Game Static Class: ActiveScene, ChangeScene, TypeLibrary, and Core State The static class is the primary entry point for global game state in s&box. Core State …
SceneAnimationSystem: Threaded Animation, Bone Merge Order, Procedural Bones, and Ragdoll Physics Step
SceneAnimationSystem: Threaded Animation Updates and Bone Merge Order drives all animation updates. It runs at (after , before ). Threading Model Animation upda…
s&box BanSystem: Ban list management with persistence
BanSystem API Reference BanSystem is a GameObjectSystem that manages a ban list with LocalData persistence and connection blocking. Type Signature Key Methods -…
s&box WaterVolume: Buoyancy physics for water volumes
WaterVolume API Reference WaterVolume is a Component that applies buoyancy physics to Rigidbody objects entering a trigger volume. Type Signature Physics Implem…
Sandbox: Player spawn flow with PlayerData, events, and NetworkSpawn
Player Spawn Flow in s&box Sandbox The Sandbox game uses a (a ) to handle player connections and spawning. Here's the full pattern: GameManager spawns players o…
Automatic water volume setup with buoyancy physics
Automatic Water Volume Setup with Buoyancy This example shows automatic attachment of WaterVolume components to colliders tagged "water" and buoyancy physics im…
s&box WaterVolume: Water buoyancy
WaterVolume Component API Reference WaterVolume is a Component that applies buoyancy physics to rigidbodies entering a water volume. Implements ITriggerListener…
Playing Sounds: SoundHandle, GameObject.PlaySound, and Audio Components
s&box provides several ways to play sounds: fire-and-forget at a position, controlled via , attached to a , or via scene components. SoundEvent Assets Sounds ar…