Toolchain

Six components, one build graph

A native runtime with separate tools for assets, shaders, scripting, physics, and product builds. Each one owns a single job.

Hikari

Zig

Native runtime, rendering, and editor.

Shinra

Rust

Asset cooking, watching, and packaging.

Akari

Rust

One shader language for Metal, Direct3D, and Vulkan/SPIR-V.

Kawa

C

Embedded scripting for game logic.

Tenkai3D

Odin

3D physics and character controllers.

Kaji

C# / .NET

One build flow for games and the editor.

01 / Build with Kaji

One graph for editor and game builds

Kaji conducts the complete build: dependencies, asset cooking, shaders, native libraries, and the final executable. Editor and game products use the same declared build graph.

Source builds require a configured repository toolchain: Zig 0.17.0, .NET 10, Rust, and the platform’s native compiler and physics dependencies. The examples assume Kaji is already bootstrapped.

Run the shell examples from the repository root on macOS. The Editor command builds and launches the example project; Game build creates a release bundle. The Zig and Kawa tabs show small gameplay examples.

Compose an actor from the capabilities it needs.

const hi = @import("hikari_game");

pub const BeaconEntity = hi.defineEntity(.{
    .archetype = "beacon",
    .components = .{ hi.ComponentRender, hi.ComponentLight },
});
02 / Packaging

Explicit build choices

Kaji owns product linking and data staging. Pick the product, linkage, and configuration; asset and shader settings remain explicit build inputs.

Editor

Omit --project to open the standalone project selector, or bind a project directly. Editor game modules are always dynamic.

Game

A game build requires --project. Choose monolithic or dynamic linkage, then package the product and its data for distribution.

Native platforms

Apple Silicon with Metal 4 on macOS 26, and x86-64 Windows with Direct3D 12. Akari also compiles Vulkan/SPIR-V shaders; the Linux/Vulkan runtime remains incomplete.