Install

No build step needed — download the SDK, add it to your PATH, and start making games.

Requirement: Zig 0.16.0 must be on your PATH. Nothing else — no C compiler, no system SDK, no extra dependencies.

[Download the latest release]({{< param releases >}})

Linux / macOS

tar xf turian-sdk-linux-x86_64-v0.1.0.tar.gz
export PATH="$PWD/turian-sdk-linux-x86_64-v0.1.0:$PATH"

Windows (PowerShell)

Expand-Archive turian-sdk-windows-x86_64-v0.1.0.zip
$env:Path += ";$PWD\turian-sdk-windows-x86_64-v0.1.0"

After adding the SDK to your PATH, create and build your first project:

turian-cli new-project my-game "My Game"
turian-cli build       my-game
my-game/.cache/zig-out/bin/game   # run it

The SDK is portable and fully relocatable — nothing is written to your system. Multiple SDK versions can coexist side by side. See the SDK guide.


Platform support

Platform Studio CLI Build windowed games
linux-x86_64
windows-x86_64
macos-aarch64 not yet

macOS SDK is CLI-only; Turian Studio and SDL3 are not yet included.


Build from source

For contributors and developers who want to work on the engine itself.

Requirements

Tool Version Notes
Zig 0.16.0 exactly 0.15 and earlier not supported
Git any
Git LFS any Required for binary assets in examples/

Clone and build

git lfs install            # once per machine
git clone {{< param repo >}}.git
cd turian

zig build          # compile studio + CLI (Debug)
zig build run      # compile and launch Turian Studio
zig build test     # run all unit tests
zig build ci       # tests + ReleaseFast (matches CI)

Output binaries land in zig-out/bin/:

  • turian-studio — the GUI editor
  • turian-cli — the headless CLI

CLI usage (from source)

./zig-out/bin/turian-cli new-project ../my-game "My Game"
./zig-out/bin/turian-cli info        ../my-game
./zig-out/bin/turian-cli build       ../my-game

Adding a built-in component

  1. Create engine/components/MyComponent.zig:
    pub const MyComponent = struct {
        value: f32 = 1.0,
    };
    
  2. Register it in engine/components/root.zig.
  3. Add a tag to the Component union in engine/scene/Component.zig.
  4. Update BuiltinEntry.zig and scanner.zig (populateBuiltins).

Running tests

zig build test

Tests live inline in source files using Zig's built-in test blocks.


Environment variable overrides

Override the paths the CLI resolves automatically (useful for CI or multi-version setups):

Variable Overrides
TURIAN_ENGINE_ROOT engine/root.zig
TURIAN_EDITOR_ROOT editor/root.zig
TURIAN_BUILD_ROOT SDK root directory

See the SDK guide for the full list.


← All docs Edit on GitLab