Control and verify a live Unity Editor through a local, low-token MCP server.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Give your AI coding agent hands, eyes, and a checklist inside Unity.
Codex, Claude, Cursor, Copilot, AntiGravity, and other shell-capable agents can inspect your live Unity Editor, change it, run it, test it, see the result, and keep fixing until the evidence says it is done.
Start in 3 steps Β· What can it do? Β· Why Hera? Β· How good is it? Β· Examples Β· Commands
An AI can write Unity C# without Hera, but it cannot reliably know what your live Editor looks like after the code is written.
Normally the loop looks like this:
Hera closes that loop:
A simple way to think about it:
The AI is the brain. Hera gives that brain hands to operate Unity, eyes to inspect the result, and a checklist so it does not stop while the project is still broken.
Hera does not replace Unity and it does not replace the coding agent. It connects the two so the agent can work with facts from your actual project instead of guessing from source code alone.
Unity development has a feedback loop that lives outside the source files.
A change can look correct in code and still fail because:
Hera lets the agent ask the real Editor instead.
If the selected Editor is not running, Hera can bootstrap the exact project before Connector discovery:
The project version comes from ProjectSettings/ProjectVersion.txt; the
matching Unity Hub install comes from UNITY_HUB_EDITOR or the platform default
(%ProgramFiles%\Unity\Hub\Editor on Windows). Pass --hub-root for a custom
Hub location. Startup uses normal Package Manager behavior, not -noUpm, and
returns when the new process publishes that exact project's heartbeat. On
Windows, Hera also restores the standard common-profile environment for the
Unity child when an agent shell omitted it, so UPM path resolution still starts
with the same baseline as a normal desktop launch.
The important part is not the command names. The important part is that the agent can observe β change β run β verify β repair without making you act as the courier between the AI and Unity.
You can use Hera for tiny one-line checks or for a full AI-assisted Unity workflow.
| What you want the AI to do | What Hera gives it |
|---|---|
| Check whether Unity is healthy | Live Editor status, version, project, compile state, Console errors |
| Start or restart the right Editor | Launch or restart the exact project from its recorded Unity version and wait for that project's heartbeat |
| Understand the current Scene | Scene info, GameObject search, Component and Inspector reads |
| Change the Scene | Create, duplicate, rename, parent, move, or delete GameObjects |
| Edit Components | Add, remove, inspect, and change serialized Component values |
| Work with project assets | Find, create, copy, move, or delete assets under Assets/ |
| Run project-specific C# | Execute C# inside the loaded Editor with access to Unity APIs and project assemblies |
| Make animations | Author AnimationClips and AnimatorController state machines |
| Test a feature | Run EditMode and PlayMode tests and keep the result across domain reloads |
| Play the game | Enter Play Mode, wait for the real state change, inspect, then stop |
| See what Unity rendered | Capture Scene/Game views or isolated objects, plus bounded uGUI identity/coordinate and Camera.main 3D physics evidence |
| Test Unity input | Inspect uGUI raycasts, or synthesize Input System keyboard/mouse sequences, record them, and replay them in Play Mode |
| Build UI | Author uGUI or UI Toolkit layouts and verify the generated result |
| Recreate a reference UI | Measure a reference, build the real Unity UI, capture it, compare, and iterate |
| Improve game feel | Give the agent recipes for shake, hit stop, feedback, camera, sound, rewards, and accessibility |
| Clean up generated-looking UI | Detect common spacing, hierarchy, typography, color, and decoration problems |
| Create your own studio commands | Add project-specific [HeraTool] actions that appear automatically |
| Work with several open Editors | Target the intended project and keep that project identity through port changes |
| Require approval for risky work | Preflight destructive operations and continue only with the matching approval token |
In short, Hera is not just a "press Play" remote. It is a bridge for the whole edit-and-check loop around a running Unity project.
Without Editor access, the agent often ends with:
"This should work."
With Hera, it can finish with evidence such as:
That difference is the main reason Hera exists.
You no longer need to repeatedly:
The AI can perform most of that loop itself.
The normal production path is a CLI. Any agent that can run shell commands can use it.
No Python server is required. MCP is optional, not mandatory.
A giant tool response becomes more input for the model to read. Hera therefore gives common commands compact views such as IDs-only GameObject searches and on-demand tool schemas.
The goal is simple: send the agent the smallest amount of Unity state that is enough to make the next decision.
Unity recompiles scripts, reloads domains, changes ports, enters Play Mode, runs tests, and sometimes drops a connection while doing it.
Hera tracks these workflows instead of treating a successful HTTP send as proof that Unity is finished.
Start with the built-in commands. Later you can add a [HeraTool] for the workflow your own project repeats every day: build a dungeon room, validate a quest graph, bake a table, spawn a test battle, or check your studio-specific asset rules.
Hera avoids vague "AI magic" claims. The repository keeps concrete measurements and compatibility evidence instead.
Measured low-token baselines for list --compact are about 93 estimated tokens across the tested Unity versions. find_gameobjects --ids measured 49 to 55 estimated tokens in the retained cross-version fixtures.
| Unity Editor | list --compact | find_gameobjects --ids |
|---|---|---|
| 2022.3.62f2 | 93 T | 54 T |
| 2023.2.22f1 | 93 T | 54 T |
| 6000.3.5f2 | 93 T | 49 T |
| 6000.5.0f1 | 93 T | 55 T |
T is a simple ceil(UTF-8 bytes / 4) estimate for Hera's CLI payload only. It is not provider billing telemetry. Full methodology: token-reduction benchmark.
The current Connector source is 0.0.86 and the current CLI release is v0.2.0. The Connector's exact source passed the release compile gate in these representative Editors:
| Unity Editor | Result |
|---|---|
| 2022.3.62f2 | PASS |
| 2023.2.22f1 | PASS |
| 6000.0.35f1 | PASS |
| 6000.3.5f2 | PASS |
| 6000.5.6f1 | PASS |
CLI and Connector versions are intentionally separate.
The final release candidate was loaded as Connector 0.0.86 in Unity 6000.5.6f1 with Input System 1.20.0 and driven through real Play Mode before release. The retained smoke evidence recorded:
ReleaseGateTests: 18/18 PASS;This complements the five-version compile matrix with an end-to-end Editor regression on the released capability set.
The retained Crystal Forge scenario asked an AI to author code and tests, build UI, compile, drive Unity EventSystem input, run tests, capture the rendered result, and leave the Editor clean.
Final result: PASS after repair. First attempt: FAIL.
The measured execution window was 15 minutes 52 seconds. The run is useful because the failures were kept instead of being edited out. It showed why a closed verification loop matters: hidden state was correct before the UI was actually visible, and the agent had to observe, repair, and verify again.
This is not a claim that Hera makes every task succeed on the first try, and it is not an "X% smarter AI" benchmark. It demonstrates something more practical: Hera can give an agent enough real Editor feedback to find and repair integration failures instead of stopping at the first plausible answer.
Full evidence: Crystal Forge real-world benchmark.
There are only two pieces:
The simplest cross-platform option is npm:
Or use the native installer.
Windows PowerShell
macOS / Linux
Check it:
In Unity:
Paste:
Or add it to Packages/manifest.json:
The Connector starts automatically when the Editor opens.
To pin an existing Connector tag:
The current released Connector pin is:
You should see the real project path, Unity version, Editor state, and connection information.
Now you can simply tell your agent:
That is the normal Hera workflow.
Typical commands behind the scenes:
Hera can give the agent a measurement loop instead of an eyeballing loop:
Example commands:
Hera supports both uGUI and runtime UI Toolkit. The selected UI system is explicit, so the agent does not silently mix the two.
This verifies Unity's EventSystem path. It is not a physical Windows/macOS mouse click, so Hera reports those two kinds of evidence separately.
Projects that already use the optional Input System package can also verify gameplay input without adding a Hera dependency:
Keyboard, mouse, bounded sequence, recording capture, and replay require Play Mode. Recordings use the bounded hera.input-recording/1 JSON format under the project or system temp directory; replay validates the complete file before mutation and reuses sequence-owned cleanup. Hera resolves the package at runtime, never creates devices, and releases any held controls when Play Mode exits.
You can ask an agent to:
If your project has a repeated workflow, expose it as a custom [HeraTool]. The tool appears in Hera's live catalog automatically.
Examples:
build_test_battlevalidate_item_databasespawn_quest_fixturebake_localization_tablecheck_prefab_rulesHera can therefore start as a generic Unity bridge and gradually become a CLI for your own game production pipeline.
Do the work. Check the work. Only then report the result.
Ultra Hera is a verification rule for AI-assisted Unity work. It does not write the feature by itself. It tells the agent how carefully to check the work it just did through Hera.
Find it in:
| Mode | Easy meaning |
|---|---|
Off | No extra verification rule. |
Light | Default. Compile/check state, read errors, and re-read the changed target before finishing. |
Ultra | For important work. Add stronger evidence such as tests, Play Mode, Inspector reads, screenshots, or ui_doc capture. |
Think of Light as a seatbelt check and Ultra as a pre-flight inspection.
Use Ultra when the request sounds like:
The goal is simple: the agent should not close the task while Unity is still broken.
Hera includes optional guidance and authoring systems that help the agent do more than change raw objects.
| Backend | Best for | Hera creates |
|---|---|---|
ugui | Canvas-based UI | GameObjects, RectTransforms, Components |
uitk | Runtime UI Toolkit | validated UXML, USS, PanelSettings, UIDocument |
Choose explicitly:
Hera validates the selected backend instead of guessing from the Scene.
Helps the agent think about how gameplay feels, not only whether it functions: screen shake, hit stop, knockback, camera, control feel, sound, reward presentation, haptics, and accessibility constraints.
The knowledge is guidance. Hera does not secretly add heavy runtime systems to your game.
Adds practical UI feedback recipes such as hover scale, press squash, popup entrance, count-up text, health-bar response, cooldown feedback, and accessibility baselines.
Helps agents catch common generated-looking UI habits: unnecessary decoration, weak spacing systems, box-in-box layouts, decorative italics, inconsistent colors, and other visual tells.
The rules include exceptions so functional game UI such as inventory cells is not flattened just because it is repetitive.
You do not need to memorize these. They are here so you can understand the surface Hera gives an agent.
| Command | Plain-language purpose |
|---|---|
doctor --json | "Is Hera installed and can it reach Unity?" |
status / ping | Check Editor state and liveness. |
list --compact | Discover available built-in and project-specific tools cheaply. |
call <tool> | Validate a strict live tool contract, then call it. |
console | Read or clear the real Unity Console. |
scene | Inspect, load, save, list, or close Scenes. |
find_gameobjects | Search the loaded Scene hierarchy. |
manage_gameobject | Create and edit GameObjects. |
manage_components | Read, add, remove, or modify Components. |
manage_assets | Work with project assets under Assets/. |
manage_animation | Author AnimationClips and AnimatorController state machines. |
exec | Run arbitrary project-aware C# inside the Editor. |
editor | Launch/restart the exact project, or play, stop, pause, refresh, and compile. |
test | Run or resume Unity tests. |
task | Inspect durable test/package work without contacting Unity. |
screenshot | Capture Scene/Game views or isolated objects; optionally return bounded uGUI or Camera.main-constrained 3D collider identity/coordinates, including metadata-only modes. |
ui_doc | Inspect, build, sample, and capture Unity UI. |
input | Test uGUI, or synthesize optional Input System keyboard/mouse/sequence input and record/replay it in Play Mode. |
profiler | Read profiler hierarchy snapshots. |
game_feel | Query game-feel guidance. |
ui_slop | Query UI cleanup guidance. |
batch | Run several operations in one request. |
custom [HeraTool] | Call tools defined by your own Unity project. |
Full reference: docs/COMMANDS.md.
You can put Hera's operating rules in the project so the agent knows to inspect Unity before guessing.
Then open /plugins, choose Hera Agent Unity, and enable Hera Unity.
AGENTS.mdThe compact default guidance is intentionally small. Its reviewed baseline is 2,277 UTF-8 bytes and contains the important rules for bootstrap, targeting, approvals, safety, and verification. The full guide is available on demand.
This repository also ships templates for Cursor, Copilot, AntiGravity, Continue, and other agent environments under examples/rules.
Hera can make real changes to a Unity project, so "fast" is not enough. It also needs to know when to stop.
Unity can change its local port after a domain reload or restart. Hera prefers the normalized full project path as the Editor identity and treats the port as a temporary endpoint.
If several Editors are open, use:
Ambiguous targeting fails instead of guessing.
Approval-gated work is preflighted first. The returned token is tied to that exact request and is single-use. Changing the target or arguments invalidates the approval.
If a response disappears during a reload or timeout, Hera checks fresh Editor ownership/state before an eligible retry. A mutation is not resent merely because the network response was unclear.
A long Test Runner job can outlive a normal request window. Hera stores durable run state so an agent can resume waiting for the same run instead of accidentally starting another test execution.
| Unity version | Status | Representative verification |
|---|---|---|
| 2022.3 LTS | Supported | 2022.3.62f2 |
| 2023.2 | Supported | 2023.2.22f1 |
| 6000.0 - 6000.4 | Supported | Unity 6 compatibility buckets |
| 6000.5+ | Supported | 6000.5.6f1 release gate |
| Older than 2022.3 | Not supported | Minimum is Unity 2022.3 |
Version-specific behavior is checked against live Editors rather than assumed from one Unity version.
The production default is the normal CLI.
That means any shell-capable coding agent can use Hera without configuring MCP.
CLI v0.1.0+ also ships an experimental, default-off, stdio-only MCP adapter for hosts that intentionally want MCP discovery and invocation. It uses the same Hera execution core instead of creating a second Unity backend.
MCP does not magically make the model smarter. It is another way to expose the same Unity capabilities. Hera keeps the CLI path as the default because it remains simple, explicit, and broadly compatible.
MCP setup and compatibility boundaries: docs/MCP.md.
latest)latest)active, latest)The two version numbers are separate on purpose. The CLI and the Unity package can evolve independently while keeping their compatibility contract explicit.
v0.2.0 expands Hera's live verification loop with exact-project Editor launch/restart, bounded Input System sequence/record/replay, UI and 3D physics screenshot evidence, and opt-in restricted exec while keeping the CLI-first default and 31 top-level tools. The released Connector exposes 80 actions, passed the five Unity compile buckets, and completed the live 6000.5.6f1 regression above with 18/18 Connector release gates and 0 Console errors.
For release-by-release engineering detail, read CHANGELOG.md instead of treating the main README as a migration log.
The Unity package opens a local HTTP listener. The CLI selects the intended Editor from local heartbeat state and sends the command. Unity work is marshaled to the Editor main thread.
Domain reloads and long-running operations use filesystem-backed state so compilation, tests, and recovery can survive the HTTP listener being recreated.
Architecture details: docs/ARCHITECTURE.md.
exec when one exists.find_gameobjects --ids when IDs are enough.exec snippets should normally return null or nothing rather than a large status object.UnityEngine.Object unless you truly need its reflected graph.--strict or throw an exception when a logged error must fail the CLI operation.--security-mode restricted when a snippet only needs platform APIs and should be denied file, network, process, reflection, native, threading, UnityEditor, and project-assembly access. Full Access remains the default.exec --check when you want to compile-check a snippet without executing it.[HeraTool] actions or durable task/test operations than as detached work inside a one-shot exec.The complete agent operating guide is AGENTS.md.
No. Hera gives the AI better access to your real Unity state and better ways to verify the result. The coding model still makes the design and implementation decisions.
No. The normal install is one native CLI plus one Unity package.
No. The CLI is the production default. MCP is optional and default-off.
Each command targets one Editor. If several are open, use the full --project path for the clearest selection. Hera tracks the selected project identity even if the local port changes.
The input command sends Unity EventSystem events for uGUI QA and can synthesize optional Input System keyboard/mouse state in Play Mode. Both prove Unity-level behavior, not a physical operating-system click. Physical click evidence must be reported separately.
Yes. Hera has separate uGUI and runtime UI Toolkit backends. Select the backend explicitly instead of mixing them.
Also check that the Unity package is installed and the Editor has finished compiling.
| Project | Notes |
|---|---|
| NoMoreRolls | Solo-developed Unity game. Built with AI driving the Editor through Hera. |
https://github.com/user-attachments/assets/15d353e4-b7bb-4534-bbca-c27de0792147
NoMoreRolls - full Play Mode video from a Unity game built with Hera-assisted Editor work.
Victor - Unity/C# developer with 6+ years of live-service MMORPG production experience.
GitHub: @NotNull92
Discord: Join the Hera community
Hera is free and licensed under Apache-2.0. If it saves you time, you can support development:
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hera-agent-unity)<a href="https://allmcps.com/mcp/hera-agent-unity"><img src="https://allmcps.com/api/badge/hera-agent-unity?style=directory" alt="Hera Agent Unity on AllMCPs" /></a>