Clutter System: GPU-Instanced Scattering for Grass, Rocks, and Debris
The s&box Clutter System scatters large amounts of small objects (grass, rocks, debris) with GPU-instanced rendering. It handles placement, streaming, and LOD a…
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): …
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 …
PostProcessVolume: Camera-Based Effect Blending with Box, Sphere, and Infinite Modes
The component in s&box applies post-processing effects to cameras inside its volume. Effect components can be on the same GameObject or child GameObjects. Volum…
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…
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…
Input System: Button Queries, AnalogMove, AnalogLook, and Escape Override
Input is accessed using the class in s&box. It provides button state queries, analog stick/mouse values, and escape key handling for game components. Button Que…
Platform Chat - Built-in Multiplayer Text Chat System
Built-in text chat for multiplayer games. Messages are routed through the host, validated, filtered, and displayed via the standard overlay UI - no game code re…
Prefabs: Reusable GameObjects with Runtime Spawning via Clone
A prefab is a GameObject that can be used in multiple places — across scenes or instantiated at runtime. Assets Prefabs are saved as PrefabFile assets. To creat…
NetworkHelper: Simplified Multiplayer Setup with Player Spawning
The NetworkHelper component simplifies multiplayer setup. It handles server creation, player spawning, and object ownership. Creating a Server Set to true and a…
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…
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…
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…
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…