Navigation: Recast NavMesh Generation and Pathfinding in s&box
s&box implements Recast Navigation (the industry standard used in Unreal, Unity, and Godot) for navmesh generation and navigation agents. What is a NavMesh? A s…
GameObjectSystem: Scene-Level Batch Processing Systems in s&box
A in s&box is a scene-level system that performs work at specific points during the frame. Automatically instantiated when a scene is created — no manual setup …
Shader Graph Getting Started: Visual Shader Editor in s&box
s&box Shader Graph is a visual scripting language that compiles to shader code. Accessible to beginners and useful for rapid prototyping by experienced shader d…
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…
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…
LocalData persistence for server-side data
LocalData Persistence in s&box LocalData provides server-side data persistence that survives server restarts. It's useful for storing configuration, ban lists, …
Shaders in s&box - HLSL and Shading Models
Shaders in s&box - HLSL and Shading Models Write custom shaders in HLSL with Source 2's shading models, render states, and GPU instancing support. Shader Develo…
Backend Services - Achievements, Leaderboards, Stats
Backend Services - Achievements, Leaderboards, Stats Integrate Steam backend services for player progression, competition, and analytics. Achievements Track and…
Decals in s&box
Decals in s&box Decals are textures projected onto surfaces for bullet holes, graffiti, scorch marks, etc. Decal Component Add to a GameObject: DecalDefinition …
Sandbox: Weld tool — FixedJoint constraint with EasyMode rotation
Sandbox Weld Tool — Constraint Creation with EasyMode Rotation The Weld tool creates constraints between two GameObjects. It has an EasyMode that lets the playe…
Sandbox: CleanupSystem — full scene cleanup and per-player cleanup with Ownable
Sandbox CleanupSystem — Scene Cleanup and Per-Player Cleanup is a that handles cleaning up spawned objects. It distinguishes between "baseline" objects (part of…
ModelRenderer Material Overrides: MaterialOverride, SetMaterialOverride by Tag, Per-Index Materials Accessor, and Attachments
ModelRenderer Material Overrides: MaterialOverride, SetMaterialOverride, and Materials Accessor provides several ways to override materials on a model. Global M…
Clothing - s&box Assets Documentation
Clothing The clothing system allows players to customize their Citizen character with various wearable items. Create hats, shirts, pants, accessories, and more.…
Clutter System — scattering grass, rocks, and debris with GPU instancing
Clutter System — Scattering Grass, Rocks, and Debris The Clutter System scatters large amounts of small objects (grass, rocks, debris) across a scene using GPU-…
Terrain System — heightmap creation, material painting, and sculpting
Terrain System s&box terrain is a heightmap-based landscape system with material painting, sculpting tools, and built-in LOD. Terrain data is stored in a reusab…
Sandbox: BanSystem — persistent ban list with INetworkListener.AcceptConnection
Sandbox BanSystem — Persistent Ban List with INetworkListener is a that implements to intercept incoming connections and reject banned players before they join.…
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…
FileSystem: Mounted, Data, OrganizationData, Cache, and Memory Filesystems
FileSystem: Accessing Game Files in s&box s&box provides several filesystem access points through the static class. Available Filesystems Reading and Writing Fi…
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 SnapGrid: World-space snap grid overlay
SnapGrid: World-Space Snap Grid Overlay SnapGrid is a sealed class that manages a world-space snap grid overlay projected onto a surface plane. It is used by th…