Toolchain

Built with purpose. Built together.

A native Zig runtime supported by focused tools for assets, shaders, scripting, physics, and product builds. Each component has a clear responsibility.

Hikari

Zig

Native runtime, rendering, and editor.

Shinra

Rust

Asset cooking, watching, and packaging.

Akari

Rust

Shader language targeting Metal and Direct3D.

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 product graph.

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.16.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 / From workspace to product

Explicit choices. Predictable outputs.

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. Linux/Vulkan support is incomplete.