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 …
Indirect Light Volumes: Probe-Based Global Illumination and Bounce Lighting
Indirect Light Volumes in s&box use a grid of probes to sample indirect light from all directions. When rendering, the system interpolates between nearby probes…
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. …
Game Mounts: Creating Custom Asset Mounts for External Games
The s&box mount system is extensible — anyone can write a mount to add support for a new game or engine. A mount detects a game's install directory via Steam, s…
Exporting Standalone: Royalty-Free Game Distribution via Steam
Export your s&box game as a standalone executable for distribution outside the s&box platform. Key Features Steam and beyond — publish to any storefront (must a…
API Whitelist: Sandboxed Code Restrictions and Safe Alternatives
s&box uses a code whitelist to prevent access to classes and functions that could be used maliciously. Code that doesn't pass these checks will not be loaded in…
Input Glyphs: Device-Adaptive Button Icons for UI Hints
Input glyphs in s&box provide an easy way to show users which buttons to press for actions. They automatically adjust for whatever device is being used and retu…
Raw Input: Direct Keyboard Access Bypassing Input Actions
s&box provides raw keyboard input access that bypasses input actions. Only use this when input actions won't work — raw inputs cannot be rebound by players. Ava…
Creating Post-Process Effects: BasePostProcess with Volume Blending and Shaders
Create custom post-processing effects in s&box by deriving from . This enables volume-based blending and custom shader rendering. The Component Key Methods GetW…
Unit Tests: MSTest with Engine Initialization for Component Testing
s&box supports unit testing via a directory in your project. The engine auto-generates a test project when this directory exists (restart editor after creating …
Ownable Component Pattern for Prop Ownership
Ownable Component - Prop Ownership and Permission System A component that tracks which player spawned an object and enforces ownership-based permissions. Useful…
CleanupSystem Pattern for Map Reset and Scene Management
CleanupSystem - Scene State Management and Map Cleanup A that captures the baseline scene state and allows resetting the map to its original state. Removes spaw…
Editor - s&box Documentation
Editor The s&box Editor provides a modern interface for building games. Features Asset Previews - Thumbnails for models, materials, textures Custom Editors - Sp…
BaseWeapon and BaseCarryable Weapon Framework
BaseWeapon and BaseCarryable - Weapon Framework Base classes for creating weapons in s&box. Provides ammo management, view/world models, and input handling. Bas…
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…
Player Event Interfaces (Local and Global)
Local.IPlayerEvents and Global.IPlayerEvents Event interfaces for player lifecycle, damage, inventory, and camera events. Local fires to player hierarchy only; …
DynamiteEntity Explosive Entity Pattern
DynamiteEntity - Simple Explosive Entity A simple explosive entity that can be triggered via damage or player input. Demonstrates , , and prefab cloning pattern…
BanSystem Pattern for Player Management
BanSystem - Player Ban Management A GameObjectSystem that manages player bans with persistent storage. Demonstrates , persistence, and RPC commands. Implementat…
Chat UI Pattern with RPC Broadcasting
Chat UI with RPC Broadcasting A Razor UI component for game chat that handles local input, RPC broadcasting, Steam filtering, and automatic message expiration. …
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…