Ara
Download

Search or run a command

Jump to a section or open an Ara link.

Ara 0.0.2-alpha.3First public alpha, for Windows

An AI-native
game engine.

Unreal-level fidelity with Unity-level ease. Every edit, from you, a C# script or an AI agent, is a typed command you can undo, so agents work in your project like a teammate.

Download Ara HubView on GitHubWindows 10/11 x64 · Vulkan 1.3 GPU

Fidelity

4.6%

Whole-image error against a 32,768-sample path-traced reference, in Sponza

Geometry

1.09billion

Scanned triangles rendered in 4.6 ms at native 1440p with virtual geometry

Hot reload

19ms

C# reload for a method-body edit (p50), with every entity's state kept

Agents

22/22tasks

arabench tasks passed by Claude Code, and by Codex

Measured on a Ryzen 7 7800X3D and RTX 4070 SUPER under Windows 11, on a machine shared with other builds. Treat every number as an upper bound.

01AI-native

Agents are first-class users, not an add-on.

Agent edits apply like a teammate's: live in the editor's activity feed, attributed, and undoable one turn at a time. Here is one turn.

The Ara editor showing the Sponza atrium. An agent adds a light to the left brazier, sets its colour and intensity, and the turn is undone as one step.
  • One command registry

    Menus, the palette, shortcuts, the ara CLI, C# and MCP all run the same 272 typed commands. Each edit is an undoable transaction with an author and a reason.

  • A built-in MCP server

    Claude Code, Codex or any MCP client gets the editor's own tools. One global connection through Ara Hub sees every registered project.

  • ara why

    Explains a problem from diagnostics gathered across every subsystem, with ranked causes, evidence and fixes an agent can run.

  • Worlds as text that merges

    Scenes are canonical JSON with @path#id references, and ara merge three-way merges them, so agents and people can branch freely.

Terminallevels/main.scene
$ ara do entity.create -p name=Lamp --why "Light the crate"
applied tx_rgxnv0fs to levels/main.scene (revision 1)
  created: e_wvxb Lamp
undo this turn: ara_session {"action": "rollback", "to": "cp_0cjgacmx"}

$ ara why name:Lamp not visible
why is `Lamp` (e_wvxb) in levels/main.scene not visible: 2 causes, 1 certain
1. [high] `Lamp` (e_wvxb) has no renderer component, so it has nothing to draw (ARA3301)
   fix: Add a `MeshRenderer`: component.add {"entity":"e_wvxb","component":"MeshRenderer"}
2. [medium] `levels/main.scene` has no enabled camera, so nothing in it is drawn in game (ARA3310)
   then: add an entity with a `Camera` component (`entity.create`)

Turns per task

5–6

Median turns an agent takes per arabench task, down from 9.

02Scripting

C# 14, reloaded before you look up.

Gameplay is plain C# on .NET 10, hosted inside the engine process. Edit a method and it's live with every entity's state intact; ship it with NativeAOT.

Door.csOutpost.Sample
1namespace Outpost;
2
3/// <summary>A door that swings open around its Y axis when IsOpen is set.</summary>
4public sealed partial class Door : Behaviour
5{
6 /// <summary>How far the door opens.</summary>
7 [Property, Unit(Units.Degrees), Range(0, 180)]
8 public partial float OpenAngle { get; set; }
9
10 /// <summary>Whether the door should be open.</summary>
11 [Property, Replicate] public partial bool IsOpen { get; set; }
12
13 [Transient] float _degreesPerSecond;
14
15 protected override void OnSpawn() => _degreesPerSecond = 90f;
16
17 protected override void OnTick(in Tick t)
18 {
19 ref var tr = ref Get<Transform>();
20 var target = IsOpen ? OpenAngle : 0f;
21 var step = _degreesPerSecond * t.Dt;
22 tr.Rotation.Y = MathF.Abs(target - tr.Rotation.Y) <= step
23 ? target
24 : tr.Rotation.Y + MathF.Sign(target - tr.Rotation.Y) * step;
25 }
26}
Reloaded Outpost.Sample19 ms · state kept

Hot reload · method-body edit

19ms

p50, with every entity's state kept. The edit in Door.cs just happened; nothing restarted.

Additive edit new members
35–41 ms
Module swap whole assembly
≈285 ms
Rust ↔ C# call NativeAOT
3.5 ns
Inspector
Doorgenerated from Door.cs
Open angle110 °

How far the door opens.

Is open✓

Whether the door should be open. Replicated.

03Benchmarks

Measured, with the misses published.

Every frame-time claim has a budget and every comparison runs on the same machine. Where Ara falls short, it says so.

Head to head · same machine

Ara Comparisonms · lower is better
  • 1M transforms

    vs Unity DOTS

    0.33
    0.53

    37%faster

  • 1M particles

    vs Unity DOTS

    0.21
    0.51

    58%faster

  • Spawn/despawn churn

    vs Unity DOTS

    1.11
    2.59

    57%faster

  • 1,000 actors × 65 bones

    vs ozz-animation

    1.46
    1.99

    27%faster

  • Boids

    vs Unity DOTS

    Ara is behind here, and the gap is published with the rest.

    3.5–28%slower

Unity 6 IL2CPP + Burst and ozz-animation, on the same machine, with bit-exact results.

Performance bar · D26

Every scene inside its budget.

GPU time (p50) at 2560 × 1440 on an RTX 4070 SUPER, against UE5-class budgets per quality preset.

CPU, Play p95
2.41 ms
of 4 ms
Frames over 16 ms after the first
none
of none
Player cold loading frame
0.72–0.99 s
of 2 s
Player warm first scene
1.24–1.91 s
of 3 s
SceneLowbudget 2 msMediumbudget 3.5 msHighbudget 6 msEpicbudget 10 ms
Outpost

1.52ms

3.04ms

3.81ms

5.39ms

Hangar

1.26ms

1.88ms

3.14ms

3.96ms

Showcase

0.83ms

1.26ms

1.77ms

2.69ms

Not there yet: Jolt physics, boids, the 4 ms virtual-geometry target and the D27 record budgets.

D26 reading ↗Simulation ↗Animation ↗Known issues ↗
04Get started

From download to your first agent turn.

  1. Step 01

    Install Ara Hub

    Hub installs engine versions side by side and keeps itself up to date. This alpha isn't code-signed yet, so SmartScreen may warn.

  2. Step 02

    Create a project

    In Installs, pick Preview and install engine 0.0.2-alpha.3. Then start a Starter, Outpost or Material showcase project and press Play.

  3. Step 03

    Connect your agent

    Hub's Connect an AI agent page gives Claude Code or Codex a one-line setup. One global MCP server covers every project.

    claude mcp add --scope user ara -- '…\ara.exe' mcp

Needs Windows 10/11 x64, a Vulkan 1.3 GPU with a current driver, 16 GB RAM and the .NET 10 runtime. macOS (Metal 4) is next.

Make something with Ara.

It's an early alpha for testers and agents. Tell us what breaks.