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…
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…
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…
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…
Math Types: Vector3, Rotation, Angles, and Transform
s&box provides several math types for 3D game development in the namespace. Vectors Vector2 — 2D (x, y) for screen/UI Vector3 — 3D (x, y, z) for world positions…
Prefab Instance Overrides: Property, Component, and GameObject Customization
Prefab instance overrides in s&box allow you to customize individual instances of a prefab without affecting the original or other instances. The instance remem…
Component Execution Order: Lifecycle Flow and GameObjectSystem Ordering
s&box component execution order determines when lifecycle methods are called. You should not rely on the order in which the same callback gets invoked for diffe…
Controller Input: Analog Sticks, Haptics, Motion Controls, and Local Multiplayer
s&box supports gamepad/controller input with analog sticks, haptics/rumble, motion controls, and local multiplayer. Detecting Controller Check to see if the pla…
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…
Decal Component: Projected Surface Effects with Random Variety
The s&box Decal component draws decals in the game world. It supports multiple DecalDefinitions for random variety without extra code. Setup Add a Decal compone…
NavMesh Links: Custom Agent Traversal with Jump, Ladder, and Physics Examples
NavMesh Links in s&box connect disconnected navigation areas, allowing agents to jump, climb ladders, or traverse gaps. Add a NavMeshLink component to a GameObj…
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. …
VR Development: Tracked Objects, Controllers, and Hand Input
s&box supports VR development with built-in components for headset tracking, controller input, and hand animation. Enabling VR Editor: Launch with headset conne…
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 …
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…
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…
Razor Components: Reusable UI Fragments with RenderFragment and Generics
Razor Components in s&box allow you to define reusable UI content that can be used inside other razor files. They make panels more agile and composable. Creatin…
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…