Install
Download a binary release (recommended)
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 editorturian-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
- Create
engine/components/MyComponent.zig:pub const MyComponent = struct { value: f32 = 1.0, }; - Register it in
engine/components/root.zig. - Add a tag to the
Componentunion inengine/scene/Component.zig. - Update
BuiltinEntry.zigandscanner.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.