Video: VideoPlayer Decoding and VideoWriter Encoding with Streaming Support
s&box provides VideoPlayer for decoding video and VideoWriter for encoding video frames. VideoPlayer Decodes video files or URLs, exposing the current frame as …
Achievements - s&box Services Documentation
Achievements s&box provides an achievements system that integrates with Steam. Achievements can be unlocked automatically based on stats or manually via code. S…
Stats API
Track player statistics with the Stats service. Recording Stats Reading Stats Stat Types Batching Stats are automatically batched and sent periodically. Call as…
Code Basics - s&box Documentation
Code Basics C# is the primary programming language for s&box. The engine uses modern .NET with hotloading support, allowing you to see code changes instantly wi…
s&box ISceneEvent: Scene-Wide and Per-Object Event Broadcasting
s&box ISceneEvent<T>: Scene-Wide and Per-Object Event Broadcasting is the base interface for all scene event systems. It provides static methods for broadcastin…
Multiplayer and Networking
Complete guide to multiplayer setup in s&box. Creating a Lobby Joining a Lobby Spawning Networked Players Host/Client Checks Connection Events Networked Object …
Sandbox: Duplicator tool — copy, paste, and save contraptions with DuplicationData
Duplicator Tool — Copy, Paste, and Save Contraptions The Duplicator tool copies a contraption (a connected graph of GameObjects) to JSON and pastes it back. It …
CleanupSystem: Map reset and baseline restoration
CleanupSystem: Map Reset and Baseline Restoration This example shows the CleanupSystem which tracks the baseline scene state and allows resetting the map to its…
ISceneLoadingEvents: Async Scene Load Hooks with BeforeLoad, OnLoad, and AfterLoad
ISceneLoadingEvents: Async Scene Load Hooks Implement on a to hook into the scene loading pipeline. The game waits for async tasks to complete before proceeding…
Scene.Load and Scene.LoadFromFile: Loading Scenes, DontDestroyOnLoad, and the Loading Sequence
Scene.Load and Scene.LoadFromFile: Loading Scenes Locally loads a scene file into the current scene. This is a local-only operation — it does not bring other cl…
GameResource: Custom Asset Types, PostLoad, PostReload, ResourceLibrary.Get, and Resource Networking
GameResource: Custom Asset Types, PostLoad, and Resource Networking is the base class for all JSON-based assets in s&box (prefabs, scene files, custom assets). …
ClothingContainer: Apply, ApplyAsync, CreateFromConnection, RemoveUnownedItems, and Body Group Masking
ClothingContainer: Avatar Dressing System — Apply, CreateFromConnection, and RemoveUnownedItems manages a player's avatar outfit. It handles clothing compatibil…
s&box PackageSortMode: Package sorting modes
PackageSortMode Enum PackageSortMode is a typed enum for package sorting modes in the s&box package browser. It provides a type-safe way to specify how packages…
s&box WorkshopSortMode: Workshop sorting modes
WorkshopSortMode Enum WorkshopSortMode is a friendly enum for Storage/Workshop queries in s&box. It wraps the underlying Storage.SortOrder enum with a simpler A…
ReloadSoundEntry record struct
ReloadSoundEntry Record Struct Defines a timed sound event to play during s&box weapon reload animations. Properties Time () - Seconds after reload starts to pl…
Stats Service: Recording and Reading Player Statistics in s&box
Games can record per-player stats using . Stats can be queried individually, per-player, or globally. Recording Stats Increment a counter: Set a value directly:…
INetworkSnapshot: Custom Binary Data in s&box Network Snapshots
s&box Components can implement to write and read custom binary data during the network snapshot process. When a client joins a server, the snapshot is sent once…
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…
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…
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…