Component Execution Order: Lifecycle Flow and GameObjectSystem Ordering
s&box component execution order determines when lifecycle methods are called. You should not rely on the order in which the same callback gets invoked for diffe…
Network Helper
Network Helper Pre-built component for common multiplayer scenarios. What It Does NetworkHelper handles typical multiplayer setup: Auto-creates server if enable…
Exporting Standalone - s&box Documentation
Exporting Standalone ⚠️ Warning: Exporting standalone games is currently in preview. Distribution requires approval from Valve — we're working with them to open…
Decal Component: Projected Surface Effects with Random Variety
The s&box Decal component draws decals in the game world. It supports multiple DecalDefinitions for random variety without extra code. Setup Add a Decal compone…
Scene Metadata: ISceneMetadata for Queryable Scene and Prefab Data
The interface in s&box allows Components to save data that can be accessed without loading a Scene or cloning a Prefab. Metadata is accessible via or directly. …
Game Mounts: Creating Custom Asset Mounts for External Games
The s&box mount system is extensible — anyone can write a mount to add support for a new game or engine. A mount detects a game's install directory via Steam, s…
Exporting Standalone: Royalty-Free Game Distribution via Steam
Export your s&box game as a standalone executable for distribution outside the s&box platform. Key Features Steam and beyond — publish to any storefront (must a…
Custom Particle Controller: Code-Based Particle Simulation with Threading
The s&box particle system allows custom code-based particle controllers by inheriting from . Add the component to a GameObject with a ParticleEffect to control …
Custom Assets: GameResource Definition with Inspector and Hotloading
Define custom asset types as in s&box. They provide inspector windows, are hotloaded in-game, and are stored as JSON files with custom extensions. Creating a Cu…
HTTP Requests: Async GET, POST, and JSON with the Static Http Class
s&box provides a static class for creating asynchronous HTTP requests (GET, POST, DELETE, etc.) with JSON content and response parsing. URL Restrictions Only or…
Editor Shortcuts - s&box Editor Documentation
Editor Shortcuts Custom keyboard shortcuts make your editor tools more efficient. Shortcuts can be bound globally or to specific widgets. Creating a Static Shor…
Component Versioning: JsonUpgrader for Breaking Property Changes in s&box
s&box Component Versioning lets you define upgraders for breaking changes like property renames or data structure changes. Upgrades are chained — if a component…
ActionGraph - s&box Documentation
Official s&box documentation for the ActionGraph system - visual scripting. ActionGraph provides node-based visual scripting for gameplay logic. Getting Started…
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 …
Raw Input: Direct Keyboard Access Bypassing Input Actions
s&box provides raw keyboard input access that bypasses input actions. Only use this when input actions won't work — raw inputs cannot be rebound by players. Ava…
GameObjectSystem with [Sync] and RPCs: Networked Scene-Level State
GameObjectSystem with [Sync]: Networked Scene-Level State supports properties just like components. However, there is a key difference: all properties on a are …
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…
IHotloadManaged: Preserving and Restoring State Across s&box Hotloads
IHotloadManaged: Preserving State Across s&box Hotloads When a class is hotloaded in s&box, all live instances are replaced with new instances of the updated ty…
IGameObjectNetworkEvents: StartControl, StopControl, and NetworkOwnerChanged Callbacks
IGameObjectNetworkEvents: Ownership Change Callbacks Implement on a component to receive callbacks when network ownership of the parent changes. Interface Metho…
Component Editor Tools: Selection-Based Scene View UI and Gizmos
Component Editor Tools in s&box are always active when a specific Component is selected. They create UI in the scene view and can override input. An example is …