Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/facepunch/sbox-public/llms.txt

Use this file to discover all available pages before exploring further.

s&box is a modern game engine built on Valve’s Source 2 rendering pipeline and the latest .NET technology. It gives you a component-based scene system, real-time C# hot-reloading, integrated multiplayer networking, and a polished visual editor — all in one package. This page covers what s&box is, why you might choose it, and where to go next.

What s&box is

s&box combines Source 2 — the engine behind games like Half-Life: Alyx and Dota 2 — with modern .NET 10 and C#. The result is a game engine where rendering quality, scripting ergonomics, and multiplayer support are all first-class concerns. Games run as packages: you write C# components that attach to GameObjects in a scene, and the editor compiles and reloads your code in real time without restarting the engine. When you’re ready, you publish your game to the s&box platform so anyone can play it.

Key features

Component-based scenes

Every game object in a scene carries a set of components. Components are C# classes that extend Component and override lifecycle methods such as OnStart, OnUpdate, and OnFixedUpdate.

Real-time hot-reloading

Save a C# file and your changes appear in the running editor immediately. State is preserved across reloads so you can iterate without losing progress.

Built-in multiplayer

Synchronize state across clients with [Sync] properties and call remote methods with Rpc.Broadcast(). The networking layer is built into the engine, not a third-party add-on.

Visual Action Graphs

Connect logic nodes in a graph without writing code. Action Graphs are stored in the scene and can call into C# components, making them useful for designers and prototyping.

Source 2 rendering

Access PBR materials, dynamic lighting, post-processing, and the full Source 2 shader system. Custom HLSL shaders slot into the same pipeline.

HTML/Razor UI

Build HUDs and menus using Razor components and CSS — the same pattern as ASP.NET Blazor. The UI system renders in-engine alongside your 3D scene.

Who s&box is for

s&box targets developers who want:
  • Fast iteration — hot-reload and an in-engine editor mean fewer round-trips between your IDE and the game.
  • Multiplayer out of the box — the networking system is part of the engine, not bolted on after the fact.
  • A familiar language — all game logic is C# running on .NET 10. You can use NuGet packages, async/await, and the full .NET standard library.
  • Source 2 visuals — physically-based rendering without building a custom renderer.
s&box is not a general-purpose engine shipped as a standalone product. Games are published to and run through the s&box platform. The editor is Windows-only and available via Steam.

How the engine is structured

At runtime, everything lives in a Scene. A scene is a hierarchy of GameObject nodes, each carrying zero or more Component instances. The static Game class exposes global state — Game.ActiveScene, Game.IsPlaying, Game.IsEditor — that components can read to branch on context.
// Check whether code is running in the editor or in a live game
if (Game.IsEditor)
{
    // editor-only logic
}
Components communicate through direct references, the Components.Get<T>() query API, tags, and the networking system.

Licensing

The s&box engine source code is licensed under the MIT License. Certain native binaries in game/bin are distributed under the s&box EULA. Third-party components retain their original licenses; see game/thirdpartylegalnotices in the repository.

Next steps

Installation

Install s&box via Steam or build the engine from source.

Your first project

Create a project, add a scene, and run your first game.

Scene & GameObjects

Understand the hierarchy that every s&box game is built on.

Components

Write C# components and wire up lifecycle callbacks.

Build docs developers (and LLMs) love