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…
Storage UGC - s&box Assets Documentation
Storage UGC The Storage system manages user-generated content. Save games, player creations, and share to Steam Workshop. Creating a New Entry Create a storage …
Physics Events - s&box Physics Documentation
Physics Events Receive callbacks for physics events in the scene. IScenePhysicsEvents Implement this interface on a component to receive scene-wide physics even…
s&box SnapGrid: World-space snap grid overlay
SnapGrid: World-Space Snap Grid Overlay SnapGrid is a sealed class that manages a world-space snap grid overlay projected onto a surface plane. It is used by th…
SceneCamera: World-to-Screen, Screen-to-World, Render Hooks, and Camera Properties
SceneCamera: World-to-Screen, Screen-to-World, and Render Hooks is the main camera class in s&box. It wraps a native frustum and provides coordinate conversion,…
MainThread.Queue: Running Code on the Main Thread from Worker Threads
MainThread.Queue: Running Code on the Main Thread from Worker Threads s&box is single-threaded for game logic. If you have code running on a worker thread (e.g.…
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…
FindMode and Component Lookup: GetComponent, GetAll, ComponentList, and Hierarchy Search
FindMode and Component Lookup: GetComponent, GetAll, and ComponentList s&box uses a flags enum to control how component searches traverse the hierarchy. Underst…
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…
Component execution order — OnAwake, OnStart, OnUpdate, OnFixedUpdate, and OnLateUpdate
Component Execution Order s&box calls component lifecycle methods in a defined order each frame. Understanding this order is essential for avoiding race conditi…
ActionGraph Component Actions - s&box Documentation
ActionGraph Component Actions Add ActionGraph behavior directly to GameObjects using the ActionGraph component. Component Actions The ActionGraph component lets…
Making a Hat - s&box Clothing Documentation
Making a Hat Step-by-step guide to creating hat clothing for the Citizen character. Making Hats / Headwear Hats are worn on the head and don't need to deform wi…
ActionGraph — visual scripting with action nodes, delegates, and C# integration
ActionGraph — Visual Scripting ActionGraph is s&box's visual scripting system. Nodes represent actions or expressions, and links carry values or signals between…
s&box ServerSettings: Server-controlled settings
ServerSettings Static Class ServerSettings is a static class that defines server-controlled settings replicated to all clients. These ConVars control game-wide …
Doo: Visual Scripting Tasks — Running, Stopping, and Exposing Methods
Doo: Visual Scripting Tasks on Components is s&box's visual scripting system. A is a serializable list of executable blocks that can be run on a component. It i…
Component Lifecycle: Full Callback Order — OnAwake, OnEnabled, OnStart, OnUpdate, OnFixedUpdate, OnDisabled, OnDestroy
Component Lifecycle: Full Callback Order s&box components have a well-defined lifecycle. Understanding the exact order prevents subtle bugs. Callback Order Key …
PlayerController: Architecture, Ground Detection, Jump System, WishVelocity Sync, and Physics Step Integration
PlayerController: Architecture, Ground Detection, and Jump System is the built-in s&box character movement component. It uses a internally and implements to hoo…
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting, NetFlags, and Rpc.FilterInclude/Exclude
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting and Flags s&box RPCs are declared with nested attributes on the static class. The old top-level a…
NetList and NetDictionary: Delta Sync, OnChanged Callbacks, Write Guard, and CanWriteChanges
NetList and NetDictionary: Networked Collections with Delta Sync and are s&box networked collection types for use with . They only send changes (deltas) over th…
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). …