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…
Sandbox: CleanupSystem — full scene cleanup and per-player cleanup with Ownable
Sandbox CleanupSystem — Scene Cleanup and Per-Player Cleanup is a that handles cleaning up spawned objects. It distinguishes between "baseline" objects (part of…
GameObjectFlags: DontDestroyOnLoad, NotNetworked, Absolute, and Destroy vs DestroyImmediate
GameObjectFlags: Controlling GameObject Behavior is a flags enum that controls special behaviors for GameObjects. Values Usage ```csharp // Survive scene loads …
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 LocalProps: Built-in prop definitions
LocalProps Static Class LocalProps is a static class that defines hardcoded models that ship with the game and are not available on the workshop. These models a…
Scene.Push(), BatchGroup(), FindInPhysics, and FindAllWithTag — Scene Context Management
Scene.Push() and Scene.BatchGroup(): Scene Context Management Scene.Push() makes a scene the active scene for the duration of a scope. This is required when cre…
VirtualGrid
VirtualGrid Efficient virtualized grid component for large lists in UI. When to Use Use when displaying: Large item lists (100s-1000s) Inventories with many slo…
Network visibility — culling networked objects per client with INetworkVisible
Network Visibility — Culling Networked Objects Per Client Network visibility controls whether a networked object sends updates (Sync Vars, transforms) to a spec…
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, …
Editor Tools
Editor Tools Create custom tools for the s&box editor. Creating a Tool Scene Access Gizmo Drawing Preventing Selection Overlay UI Editor Project Setup Tools mus…
Post Processing - s&box Documentation
Official s&box documentation for Post Processing - full-screen visual effects. Post Processing applies effects to the entire rendered image. Creating PostProces…
s&box SpriteRenderer: Billboard Modes, Animation Control, Broadcast Events, and Rendering Options
s&box SpriteRenderer: Animated Sprites, Billboard Modes, and Broadcast Events renders a asset in the s&box world with support for animation, billboarding, and f…
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…
GameResource Extensions - s&box Assets Documentation
GameResource Extensions Extend GameResource types with additional data. Create extensions that attach to existing resources like models or sounds. Creating a Re…
[Change] Attribute: Callbacks When Properties Change — Works with [Sync] and [ConVar], Priority, and All-Client Firing
[Change] Attribute: Callbacks When Properties Change The attribute invokes a method whenever a property's value changes. It works with any property but is espec…
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…
GameObject.Clone: Two-Pass Cloning, CloneConfig, NotCloned Flag, and Reference Rewiring
GameObject.Clone: Spawning Prefabs and Cloning GameObjects with CloneConfig is the primary way to instantiate prefabs and duplicate GameObjects in s&box. It per…
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…
Steam filtering API for user content sanitization
Steam Filtering API in s&box s&box provides Steam filtering APIs to sanitize user-generated content like names and chat messages. This helps prevent profanity, …
GameObjectSystem — scene-wide systems with stage-ordered execution and static access
GameObjectSystem — Scene-Wide Systems is a base class for scene-level systems that need to run at specific points in the frame — before or after physics, render…