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…
Binary Serialization - s&box Documentation
Official s&box documentation for Binary Serialization - efficient data storage. Binary Serialization saves data in compact binary format. The system handles ver…
Custom Particle Controller - s&box Documentation
Official s&box documentation for the Particle System - visual effects. Particle Effect creates GPU-accelerated visual effects. Custom Particle Controllers scrip…
Prefab Instance Overrides
Prefab Instance Overrides Customize individual prefab instances without affecting the original or other instances. Types of Overrides Visual Indicators Prefab i…
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…
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…
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…
Unit Tests - s&box Documentation
Official s&box documentation for Unit Tests - automated testing. Unit Tests covers writing and running tests for s&box code. Tests can verify component behavior…
Localization: Multi-Language Token System for UI Text
s&box supports localization via JSON token files. Any displayed string beginning with is treated as a localization token and automatically replaced with the use…
Connection Permissions: CanSpawnObjects and CanRefreshObjects
The host can change permissions for a specific in s&box multiplayer. The ideal place to set these permissions is in the network event callback when a player con…
Code Generation - s&box Documentation
Official s&box documentation for Code Generation - compile-time code generation. Code Generation covers the source generator system in s&box. The generator crea…
Libraries: Reusable Code Packages with Source Sharing
s&box Libraries are self-contained code and asset packages stored in your project's folder. They enable code reuse across multiple projects and can be shared wi…
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, …
Publishing Clothing - s&box Clothing Documentation
Publishing Clothing Publish clothing assets to sbox.game for players to use. Setting up your .Clothing File Create a clothing definition asset: Right-click in A…
Console Variables - s&box Documentation
Official s&box documentation for Console Variables (ConVar) and Console Commands (ConCmd). ConVar creates variables that can be modified through the console and…
Math Types - s&box Documentation
Official s&box documentation for Math Types including Vector3, Rotation, Angles, and related types. Vector3 represents 3D positions and directions with X, Y, Z …
Game Resources - s&box Documentation
Official s&box documentation for Game Resources - custom asset types. GameResource allows defining custom asset types that can be created in the editor and load…
s&box Hotload System: How Code Reloading Works, SkipHotload, ConVar Persistence, and NetworkObject.OnHotload
s&box Hotload System: How Code Reloading Works s&box supports live code reloading (hotload) without restarting the game. Understanding how it works helps avoid …
Custom Assets - s&box Documentation
Official s&box documentation for Custom Assets - user-defined resource types. Custom Assets allow defining new asset types for your game. GameResource is the ba…
Testing Multiplayer - s&box Networking Documentation
Testing Multiplayer s&box provides tools for testing multiplayer locally without needing multiple computers or Steam accounts. New Instance Launch a second game…