Hotloading Pitfalls: Default Values, Types, Delegates, and Optimization
s&box hotloads code changes live when you save or files. Understanding the pitfalls helps avoid subtle bugs during development. How It Works IL Hotload (Fast): …
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…
IGameObjectNetworkEvents: Ownership Change and Control Transfer Events
lets Components on a networked GameObject react to ownership changes. The events are targeted only at the specific GameObject whose ownership is changing. Inter…
Platform Chat: Built-in Text Chat with IChatEvent Filtering
s&box includes a built-in platform chat system for multiplayer games. Messages are routed through the host, validated, filtered via Steam's text filter, and dis…
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 …
CodeGenerator: Compile-Time Method and Property Wrapping via Attributes
The attribute in s&box lets you create custom attributes that wrap methods and properties at compile time. This is the mechanism behind properties and — you can…
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 …
GameObject: Transform, Tags, Children, and Components
A represents an object in the scene world. It contains a Transform, Tags, Children, and Components. Transform Represents where the GameObject is in the scene — …
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…
Custom Particle Controller: Code-Based Particle Simulation with Threading
The s&box particle system allows custom code-based particle controllers by inheriting from . Add the component to a GameObject with a ParticleEffect to control …
BuildHash pattern for Razor panel optimization
BuildHash Pattern for Razor Panel Optimization BuildHash is a method you can override in Razor panels to prevent unnecessary rebuilds when the underlying state …
s&box DamageTags: Damage type constants
DamageTags Static Class DamageTags is a static class that defines constant string tags used for damage type identification in the s&box damage system. These tag…
s&box IPlayerControllable: Player control interface
IPlayerControllable API Reference IPlayerControllable is an interface for Components that can be controlled by seated players through the ControlSystem. Type Si…
Execution Order - s&box Documentation
Execution Order Understanding the order in which component methods are called. Flowchart Component lifecycle follows a specific order: Constructor — Object crea…
s&box DynamiteEntity: Explosive entity
DynamiteEntity Component API Reference DynamiteEntity is a Component that implements IPlayerControllable and IDamageable for an explosive entity. It can be trig…
s&box GamePreferences: User preferences
GamePreferences Static Class GamePreferences is a static class that defines the local user's preferences for the game. These ConVars control player-specific set…
WebSockets - s&box Networking Documentation
WebSockets s&box supports WebSocket connections for real-time communication with external servers. Use for custom networking, persistent data, or integrating wi…
s&box WeaponConVars: Global weapon settings
WeaponConVars Static Class WeaponConVars is a static class that defines console variables controlling global weapon behavior in s&box. These ConVars can be set …
s&box EmitMode: Emitter firing mode
EmitMode Enum API Reference EmitMode is an enum that defines how an emitter fires - either toggling on/off with a press, or emitting only while input is held do…
NavMesh Areas — blocking and cost-modifying regions for AI pathfinding
NavMesh Areas components modify NavMesh generation and agent pathfinding costs within a defined region. Use them to create no-go zones, water areas, or danger z…