Sandbox: PlayerInventory — weapon slots, pickup, drop, and loadout persistence
Sandbox PlayerInventory — Weapon Slots, Pickup, Drop, and Loadout Persistence manages up to 6 weapon slots, handles pickup/drop logic, and delegates loadout sav…
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). …
Inspector Attributes: Group, Title, Icon, Range, InfoBox, Feature, and More
Inspector Attributes: Controlling How Properties Appear in the Editor s&box provides a rich set of attributes to control how component properties appear in the …
Custom GameResource Assets: Define, Create, and Access Custom Asset Types
Define custom asset types as subclasses. They get a nice inspector window, are hotloaded in-game, and are stored as JSON files with a custom extension. Creating…
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…
Razor Panels: HTML/CSS UI with C# in s&box
s&box UI can be created using Razor syntax — web-like HTML/CSS combined with C#. Panels are not rendered via a HTML renderer; the syntax is a convenience layer …
ConVar and ConCmd: Console Variables and Commands in s&box
ConVar and ConCmd: Console Variables and Commands s&box uses and attributes on static properties and methods to expose them to the console system. ConVar (Conso…
s&box EaseType: Animation easing functions
EaseType Enum Documentation EaseType is an enum that defines easing functions for animated hydraulic movement. It is used by HydraulicEntity to control how the …
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. …
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…
s&box GamePreferences: User preferences
GamePreferences Static Class GamePreferences is a static class that defines the local user's preferences for the game. These ConVars control player-specific set…
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, …
Razor Components: Reusable UI Fragments with RenderFragment and Generics
Razor Components in s&box allow you to define reusable UI content that can be used inside other razor files. They make panels more agile and composable. Creatin…
HTTP Requests: Async GET and POST with JSON in s&box
s&box provides a static class for asynchronous HTTP requests (GET, POST, DELETE, etc.) with JSON support. Allowed URLs Only or URLs to domains (no IP addresses)…
ActionGraph - Visual Scripting System
ActionGraph - Visual Scripting System Create game logic using node-based visual scripting without writing code. Overview ActionGraph lets you: Build gameplay lo…
[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…
Auth Tokens - s&box Services Documentation
Auth Tokens Auth tokens allow your game to authenticate players with external backends. The token proves the player's identity and can be validated against Face…
Prop Component: Procedural Components, Damage System, Gib Spawning, and DamageInfo Patterns
Prop Component: Procedural Physics, Gibs, Damage, and Network Patterns The component is a high-level s&box component that automatically creates , , and componen…
HTTP Requests - s&box Networking Documentation
HTTP Requests s&box provides an HTTP client for making web requests to external APIs. This is useful for fetching data, submitting scores to custom backends, or…
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 …