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…
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)…
Common Pitfalls and How to Avoid Them
s&box Common Pitfalls and How to Avoid Them Community-compiled list of frequently encountered issues and their solutions, based on Discord support channels and …
IsValid Pattern: Safe Null and Destroyed Object Checks
Destroying a or doesn't erase the C# reference — the variable still holds a non-null but dead object. A plain check will pass on destroyed objects, leading to e…
NavMeshLink custom traversal — parabolic jump, ladder climb, and physics jump
NavMeshLink Custom Traversal connects two NavMesh points for agents to traverse (jumps, ladders, teleports). Default traversal linearly interpolates between sta…
Component Lifecycle Methods Reference
Component Lifecycle Methods s&box Components have a well-defined lifecycle with specific methods you can override for different phases of initialization and upd…
Cloud Assets: Using sbox.game Models, Textures, and Sounds in Your Project
s&box provides access to a large selection of cloud assets (textures, models, sounds) from sbox.game without manual downloading or mounting. Cloud Browser Drag …
Cloud Assets: Referencing and Runtime Mounting from sbox.game
s&box provides access to a large library of cloud assets (models, textures, sounds) hosted on sbox.game. Assets are downloaded and cached automatically — no man…
Connection API: Properties, Methods, and Common Multiplayer Patterns
The class represents a network connection (client or server). Used extensively in multiplayer for identifying players, checking permissions, and managing networ…
NavMesh Links: Custom Jump and Ladder Traversal for AI Agents
NavMesh Links connect disconnected NavMesh regions (jumps, ladders, teleports). By default agents linearly interpolate between endpoints, but you can implement …
s&box ResourceLibrary: Loading and Accessing Game Resources
s&box ResourceLibrary: Loading and Accessing Game Resources (and ) provides access to all loaded resources. Loading Resources ```csharp // Synchronous get (retu…
Storage UGC: User-Generated Content with Steam Workshop Integration
The s&box Storage system provides a unified way to manage user-generated content in your game. Each storage entry is a self-contained folder with its own filesy…
IsValid: Safe Null and Destroyed Object Checking in s&box
In s&box, destroying a or doesn't erase the C# reference — the variable still holds a non-null but dead object. Use instead of null checks. Common Patterns Guar…
Leaderboards: Stats Aggregation with Country, Date, and Centering Filters
Leaderboards in s&box are stats aggregated and ordered. They use the API. Basic Usage By default, leaderboards aggregate using sum and order descending. Filteri…
s&box SaveSystem: Scene save/load
SaveSystem GameObjectSystem API Reference SaveSystem is a saving/loading system that captures the differences between the current scene state and the original s…
GameManager.Spawn RPC with Ident Parsing
GameManager.Spawn RPC Broadcast RPC for spawning entities from string identifiers with automatic weapon pickup detection. Ident Format - Spawn a prop from asset…
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.…
Achievements and Services
s&box provides built-in services for achievements, stats, and leaderboards. Achievements Unlock an Achievement Achievement Types Stat-based - Auto-unlock when s…
Component.OnLoad: Async Loading Pattern — LoadingContext, Scene.IsLoading, and Loading Screen Integration
Component.OnLoad: Async Loading Pattern for Components Components can perform async loading work by overriding . This is the correct way to load resources async…
ISceneCollisionEvents, IScenePhysicsEvents, ISceneLoadingEvents — Physics and Loading Callbacks
ISceneCollisionEvents and IScenePhysicsEvents: Physics Callbacks ISceneCollisionEvents Implement this interface on a component to receive collision callbacks. U…