Explore the Engine - s&box Documentation
Explore the Engine Learn how s&box works by exploring the testbed and understanding the core concepts. Play Testbed Start s&box (not the editor) and find the ga…
GameObjectSystem: Auto-Instantiation, Host-Controlled [Sync], RPCs, Stage Hooks, and Configuration Priority
GameObjectSystem: Auto-Instantiation, [Sync] Properties, and RPCs is a scene-level singleton that is automatically instantiated once per scene. Every non-abstra…
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…
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…
File System: Sandboxed Virtual Filesystems for Data Persistence
Standard .NET access is restricted in s&box. Instead, use the provided virtual filesystems that sandbox access to specific game directories. Available File Syst…
Leaderboard Web API: Public REST Endpoint with Aggregation and Filtering
The s&box leaderboard Web API is publicly accessible for querying player rankings based on stats. Endpoint Parameters stat — stat name to base the leaderboard o…
Binary Serialization: BlobData for Large GameResource Data Storage
When JSON files grow too large in s&box, you can store data as a binary blob using the class. This works with GameResource assets and provides custom serializat…
Dedicated Server User Permissions: Claims-Based Access Control via Steam ID
On s&box Dedicated Servers, you can specify admin permissions per user via the file using Steam IDs and claims. Configuration Claims Claims are strings describi…
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…
TextRenderer: 3D World Text, TextScope, Localization via # Prefix, Scale vs FontSize, and JsonUpgrader Pattern
TextRenderer: 3D World Text with Localization Support renders text in 3D world space using for font configuration. Basic Usage TextScope The property controls a…