Skip to main content
When you create a new project in s&box, you choose from several project types. Each type has a different purpose and set of capabilities.

The .sbproj file

Every s&box project has a .sbproj file at its root. This file stores your project’s metadata — its title, type, settings, and references. It also tells the editor that the folder is a project. You can open a project at any time by double-clicking its .sbproj file.

Project types

Game Project

A standalone game. Contains scenes, code, assets, and defines a startup scene. Published and playable as its own game on sbox.game.

Addon Project

Adds content to an existing Game Project. Used to create maps, models, materials, or custom resources for a specific target game.

Game Project

A Game Project is the base unit of game development in s&box. It contains everything that makes up your game: scenes, C# code, models, materials, sounds, and more.

Startup scene

A Game Project defines a startup scene in its project settings. This scene loads first when the game starts. Use it for your main menu or an intro screen, then load the gameplay scene after the player chooses to play. It is entirely valid to skip the menu and load straight into gameplay.

Loading maps

If your game supports loading maps from a menu, the map replaces your startup scene. To ensure your game logic, UI, and managers are still present in the loaded map, use a GameObjectSystem to spawn them additively:
public sealed class MyGameManager : GameObjectSystem<MyGameManager>, ISceneStartup
{
    public MyGameManager( Scene scene ) : base( scene )
    {
    }

    void ISceneStartup.OnHostInitialize()
    {
        var slo = new SceneLoadOptions();
        slo.IsAdditive = true;
        slo.SetScene( "scenes/engine.scene" );
        Scene.Load( slo );
    }
}
This loads engine.scene additively into any map that gets loaded, ensuring your game objects and UI are always present.

Addon Project

An Addon Project adds content to an existing Game Project. You use the components and assets from a target game to create compatible content — a map, a model, a material, or a custom resource type defined by that game.
Addon Projects cannot contain C# code yet, but you can use ActionGraph to create logic without writing code.

Setting a game target

In your Addon Project settings, select the target game you are creating content for. After changing the target game, restart the editor for the change to take effect.

Publishing addon content

To publish an asset from an Addon Project, find it in the Asset Browser, right-click it, and select Publish. The asset gets its own page on sbox.game, where you can configure its title, description, and other metadata.

Choosing a project type

GoalProject type
Build and ship a complete gameGame Project
Create a map for an existing gameAddon Project
Create a model or material for an existing gameAddon Project
Build a reusable code libraryLibrary Project
Start with a Game Project if you are new to s&box. The Minimal Game template gives you a clean starting point with the essentials already configured.