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 …
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…
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…
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…
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…
Creating Terrain: Heightmap Setup, World Scale, and Asset Reuse
To add Terrain to your s&box scene, right-click in the Hierarchy and select 3D Object → Terrain. The inspector prompts you to create, import, or link an existin…
ActionGraph: Visual Scripting with Nodes, Links, and Control Flow
ActionGraph is s&box's visual scripting language. Each node describes an action or expression, and links between nodes carry values or signals. No C# coding req…
Localization: Token-Based Multi-Language UI Text in s&box
s&box supports localization through token-based string replacement. Any displayed string beginning with is recognized as a localization token and replaced with …
Hotloading: Live Code Reload Without Editor Restart in s&box
s&box hotloading recompiles and live-reloads code when you save or files, without restarting the editor. How It Works IL Hotload (Fast): If only method bodies c…
Custom Assets: GameResource Definition with Inspector and Hotloading
Define custom asset types as in s&box. They provide inspector windows, are hotloaded in-game, and are stored as JSON files with custom extensions. Creating a Cu…
Prefab Templates: Adding Custom Prefabs to the s&box Create Menu
s&box Prefab Templates let you add custom prefabs to the GameObject Create menu in the scene editor. Setup Enable "Show In Menu" on a Prefab File in the inspect…
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…
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…
Shader Graph - s&box Documentation
Official s&box documentation for the Shader Graph - node-based shader creation. Shader Graph allows creating custom shaders without writing HLSL code. Nodes rep…
s&box Sandbox Security Model: Assembly Whitelist, Blocked APIs, Reflection Restrictions, and Safe Assembly Caching
s&box Sandbox Security Model: Assembly Access Control and Whitelisted APIs s&box uses a whitelist-based security model to prevent game code from accessing dange…
ToolMode SelectionPoint and Trace Helpers
ToolMode.SelectionPoint and Trace Helpers Helper methods and data structures for toolgun selection and placement. SelectionPoint Struct Trace Methods Placement …
Libraries - s&box Code Documentation
Libraries Libraries are reusable code packages you can share between projects or distribute to others. They provide a way to modularize your code and avoid dupl…
Steam filtering API for user content sanitization
Steam Filtering API in s&box s&box provides Steam filtering APIs to sanitize user-generated content like names and chat messages. This helps prevent profanity, …