Open Asterune
Building Asterune

Building Asterune

Build Studio and runtime templates from the Asterune source checkout.

The Asterune Cargo workspace builds Studio, the game player, and the dedicated server. Use these procedures when developing the engine or running Studio from source.

Prerequisites

Use a current stable Rust toolchain with support for edition 2024. Template staging scripts also require Node.js. Run the commands from the root of the Asterune source checkout. Studio requires a graphical desktop session.

Build Studio

Shell
cargo build -p asterune-studio
Shell
cargo run -p asterune-studio

A successful build produces asterune-studio in target/debug/, with an .exe extension on Windows. The run command opens the home page. Resolve any compiler or dependency error reported by Cargo before continuing.

Use Getting started to create a project through Studio.

Build runtime templates

Studio exports games using runtime templates for each target. Stage a release player template for the current machine:

Shell
node engine/scripts/build-player.mjs

Set ASTERUNE_PLAYER_TEMPLATES to the absolute path of engine/player-templates/. To stage a dedicated-server template, run:

Shell
node engine/scripts/build-server.mjs

Set ASTERUNE_SERVER_TEMPLATES to the absolute path of engine/server-templates/. Each script builds only the host target. Exporting for another target requires a template built for that system and architecture.

Run these commands to inspect template compatibility:

Shell
asterune-studio templates
Shell
asterune-studio templates --server
Shell
asterune-studio doctor ../my-game

Use the built executable's path if it is not on PATH. Confirm that the target is usable before opening Home → Export. A template contains a binary and a descriptor; copying a binary alone does not establish compatibility.

Run component tests

Install cargo-nextest, then run the CPU suites for the component being changed:

Shell
node engine/scripts/test.mjs engine --cpu
Shell
node engine/scripts/test.mjs studio --cpu

Omit --cpu for renderer coverage. Read the command's failing test output and resolve the reported failure before rerunning the affected suite.