
Tools used in this article
Can an AI agent build a working game in Unity on its own? Yes, and it is now boring enough to measure. Stefan handed Kimi K3 ten written briefs and Unity’s new command-line interface, then walked away. Eight came back as playable Unity builds: 22 prompts, about 23 hours of unattended agent time and $103.34 of API tokens in total. Below: the setup, the per-game numbers, and the part where the same model on Unreal Engine lost badly.
A model that writes C# is not new. It has been able to do that for two years. What changed in July 2026 is that Unity gave it a way to run the C#, look at the running game and fix its own mistakes, without a human relaying console output back and forth.
unity auth login → add com.unity.pipeline to a Unity 6 project → confirm with unity editors running → drop a .mcp.json in the project root → start the agent in that folder with max thinking and YOLO mode. Ten minutes, zero problems, and every piece is free except the model tokens.unity mcp configure covers Claude, Cursor, VS Code, Codex, Windsurf, Cline, Zed and a dozen others. Kimi is not one of them yet, so write the file by hand. Save this as .mcp.json in your Unity project root and change the two paths to yours.
{
"mcpServers": {
"unitycli": {
"command": "C:/Users/<you>/AppData/Local/Unity/bin/unity.exe",
"args": ["mcp", "--project-path", "C:/Users/<you>/kimi-test"],
"env": { "NO_PROXY": "*", "UNITY_NO_BANNER": "1" }
}
}
}The third argument is the same project path that unity editors running reports. If those two strings disagree, the agent connects to nothing.
Watch all ten tests
Every brief, every result and every number, on YouTube.
1. What the Unity CLI actually changes
Unity shipped the CLI on 20 July 2026. It is a single self-contained unity binary that installs editors, resolves project versions, manages modules and handles auth from the terminal. Useful for CI on its own. The part that matters for agents is the layer above it.
Two properties turn that into an agent loop. The output is structured, so a model gets parseable results instead of scraped console text. And the Editor is self-describing: run unity command with no arguments and it reports the operations it currently exposes, so the agent discovers its own capabilities at runtime instead of working from a hardcoded list.
eval answers in milliseconds. Multiply that by the 236 to 544 model calls a single game took in these tests and the difference stops being a detail.2. Install it in about ten minutes
Install the agent first
Stefan runs Kimi here, so that goes in first: one install command from the Kimi site, then kimi login. The CLI, the desktop app and the web interface all reach the same account, and the web one is only used in the video so the chat history is visible on screen. Any MCP-capable agent works in its place.
Install the Unity CLI and sign in
One line in a terminal. On Windows, PowerShell:
$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iexOn macOS or Linux the equivalent is a curl | bash one-liner from the same CDN. The installer adds itself to PATH, so close the window, reopen it, and run unity auth login. A browser tab opens, you sign in (Google works), and the terminal says you are signed in.

Add the pipeline package to a Unity 6 project
The CLI on its own only manages Unity. To let it talk to a running Editor, the project needs com.unity.pipeline. Create a project in Unity 6 (these tests ran on 6000.4.0f1), open Window → Package Management → Package Manager, and install com.unity.pipeline by name. From the terminal, unity pipeline install does the same thing.
That single package brings both the MCP surface and eval support. Unity 6.0 LTS is the floor; older versions are not supported.

Confirm the Editor is visible
Open a terminal and run unity editors running. It lists every Editor the CLI can currently see, with the process ID, the version and the project path. If your project appears here, the hard part is done.

Point your agent at it
For a supported client this is one command, for example unity mcp configure claude. Run unity mcp configure --list to see who is on the list: Claude Desktop, Claude Code, Cursor, VS Code, VS Code Insiders, Copilot CLI, Windsurf, Cline, Codex, Kiro, Trae, OpenClaw, Antigravity, Zed, Continue and the MCP Inspector.
Kimi is not there yet, so write the .mcp.json from the callout at the top of this article into the project root by hand. Note the flag is unity mcp configure --list and not unity mcp list, which errors out.


Start the agent in that folder and test the connection
Open a new chat in the project folder, or start the CLI there. Stefan sets max thinking and YOLO mode, the Kimi equivalent of bypassing permission prompts in Claude Code, then asks it to test the connection. On a first run the agent reads .mcp.json itself to work out what it has been given.

3. Ten briefs, eight Unity builds, and the numbers
Each test was one written brief, no reference project, no starter template, primitives only and no imported assets. Every brief ended with an instruction to verify the result before reporting back, along the lines of “actually play it before you say it works” or “run a few waves yourself before telling me it works”. The follow-up prompts were visual passes and bug fixes, not rebuilds.
| # | Build | Driven by | Prompts | Time | Tokens in / out | API cost |
|---|---|---|---|---|---|---|
| 01 | Stack Tower | Unity CLI | 2 | 2 h 17 m | 283k / 124k | $9.16 |
| 02 | Spider Walker | Unity CLI | 3 | 1 h 49 m | 359k / 157k | $11.60 |
| 03 | Shader Garden | Unity CLI | 3 | 2 h 20 m | 370k / 162k | $11.97 |
| 04 | Ping Pong | Unity CLI | 2 | 1 h 34 m | 265k / 116k | $8.57 |
| 05 | Cross Road | Unity CLI | 4 | 5 h 08 m | 693k / 303k | $22.38 |
| 06 | Beat Pulse | Unity CLI | 2 | 1 h 36 m | 247k / 108k | $7.98 |
| 07 | Demolition | Unreal MCP | 3 | ~7 h | not shown | not shown |
| 08 | Suika Merge | Unity CLI | 3 | 4 h 37 m | 565k / 247k | $18.24 |
| 09 | NavMesh Defense | Unity CLI | 3 | 3 h 40 m | 416k / 182k | $13.44 |
| 10 | Fireworks Night | Unreal MCP | 4 | 8 h 38 m | 928k / 406k | $29.99 |
| Unity totals (8 builds) | 22 | 23 h 01 m | 3.20M / 1.40M | $103.34 | ||
Costs are recalculated at Kimi K3 API rates ($3 in, $0.30 cached, $15 out per million tokens). Stefan ran the tests on a subscription, which works out cheaper; the API figures exist so the numbers are comparable.
The ones that worked
Stack Tower was the first test and set the tone: two prompts, one to build and one to upgrade the visuals, and the result is playable and fun. Slabs slide back and forth, the overhang gets sliced off and falls away as debris, colours cycle as the tower grows. The camera sits slightly left of centre and the stacking animation is plain, but nobody had to touch a line of it.

Spider Walker is the one to steal for your own project. A six-legged walker with no animation clips and no Animator: every leg is posed in code with inverse kinematics, feet plant on the ground and stay planted while the body moves, and the gait alternates in a tripod pattern. Setting that up by hand for a custom character is an afternoon of bone work in any engine. Here it was three prompts and 1 hour 49 minutes, and two of those prompts were visual polish.

Ping Pong is the plainest brief of the ten and the one that carries the most weight, because Stefan gave the identical prompt to a second agent on a different engine so the two could be cut side by side. The Unity version came back in two prompts and 1 hour 34 minutes: neon on dark, one accent colour per side, a trail on the ball, a pop and a small shake on impact, first to five. A square artefact still flickers on some hits. Cheapest but one, at $8.57.

Shader Garden asked for five effects hand-written in CG with no Shader Graph: dissolve, hologram, lava, toon and waves, plus a plain lit sphere as the control. Four of the five landed. The toon shader is the miss, and a sphere is a poor subject for a toon shader, so the brief carries some of that. The agent’s own test was a good one: every effect that failed to compile would have shown up as Unity’s magenta error material.

Cross Road is the most complete build of the set and the most expensive Unity one. Endless recycled lanes, a chicken that hops one grid square per key press, cars, rivers with rideable logs, a rail lane with a train that warns before it arrives, and a camera that creeps forward so falling behind kills you. It was playable on the first pass, which is why it earned two visual passes and a bug fix on top: four prompts, 5 hours 8 minutes, $22.38.

NavMesh Defense is the least glamorous build here and the most useful. Enemies pathfind on a live NavMesh that towers carve at runtime, with no scripted waypoints, and the agent worked out the shortest route through the winding walls without being told anything about routing. The balance is a mess, cannon damage is odd and the health bars are two pixels tall, but the systems layer is correct.

The ones that fell short
Suika Merge is the honest failure. The fruit-merging jar looks fine in 3D and everything moves, but fruit of the same tier sometimes refuses to merge, and three prompts across 4 hours 37 minutes did not fix it. This is the cheapest concept in the whole set and it took the second-longest Unity run.

Beat Pulse synthesised every voice in code with no audio files in the project: kick, hat, bass and pad, at 92 BPM, with a visualiser reacting to each. The music is structured rather than random noise, which is the bar the brief set, but the visuals stayed basic and the mix has no limiter. Cheapest run of the ten at $7.98.

4. Where Unreal Engine lost
Two of the ten ran in Unreal through its MCP instead, with the same model and the same style of brief. They are the two most expensive rows in the table, and they are the reason the other eight stayed in Unity.
The cleanest evidence is not in that table at all. Ping Pong was run twice from the same prompt: once through the Unity CLI, once through VibeUE in Unreal. Same model, same brief, same day. Unity took two prompts. The Unreal counterpart needed far more time and far more revisions to reach the same place, played a little laggier, and lost the look the brief asked for: no glow anywhere, a score you cannot read at 1080p, win text sliced by the centre line, paddles down to thin slivers.

The demolition range was meant to be a Niagara test: a cannon, a brick wall, a stone tower and a wooden shed, with a heavy ball that knocks things apart and slow motion on a key press. The destruction physics came out fine. The Niagara effects came out so dense you cannot see the cannonball. It took about seven hours.

Fireworks Night is the single most expensive run in the video: 4 prompts, 8 hours 38 minutes, 928k tokens in and $29.99. It ran overnight, crashed the editor three times and had to be resumed. The fireworks themselves look good. The lake reflection is not a reflection at all, just duplicated particles falling the wrong way, which is exactly the sort of thing a screenshot-based review pass fails to notice.

What this actually costs
None of these ten is a shippable game. Balance is off, HUDs are ugly, one merge rule never got fixed and the tower defense needs its numbers redone by hand before anyone would call it playable. What the numbers do say is that the prototype stage of a small 3D idea now costs a tenner and an afternoon you spend elsewhere, and that the engine you pick changes that price by a factor of three. Judgement, taste and balance stay yours. Typing the systems layer no longer has to be.
More on agents inside engines: Claude Code plus Godot MCP, Unreal Engine 5.8’s native MCP, running a local LLM against an engine, and a full UE5 level in one day.
Stefan Vaskevich