Installing Unity MCP
Both servers, start to finish
Verified against a working setup on 2026-08-10
Pick one server — see the comparison if you have not yet. Install that one only. Running both against one project causes conflicting Editor writes.
Option A: the official relay
Requires Unity 6.3 or newer. Verified here on Unity 6000.3.14f1 with com.unity.ai.assistant 2.17.0-pre.1.
- 1 Install the AI Assistant package
In Unity: Window → Package Manager → Unity Registry, search for AI Assistant, install. It appears in your manifest as
com.unity.ai.assistant. - 2 Sign in to your Unity account
The assistant features require it. If the panel shows a sign-in prompt, that step is not optional.
- 3 Confirm the relay binary exists
The package drops a relay into your user folder. If this prints a version, the server half is ready.
bash# Windows %USERPROFILE%\.unity\relay\relay_win.exe --version # macOS / Linux ~/.unity/relay/relay --version # Expected output # Unity AI Relay # Name: unity-ai-relay # Version: 1.0.12-build.97 - 4 Add it to your client
One entry, pointing at that binary with the
--mcpflag. Client-specific files are in the next three chapters.json{ "unity-mcp": { "command": "C:\\Users\\you\\.unity\\relay\\relay_win.exe", "args": ["--mcp"], "env": {} } } - 5 Leave the Unity Editor open
The relay talks to a running Editor. With Unity closed, tools fail regardless of how healthy the client looks.
C:\\Users\\...). A single backslash is an escape character and will produce a config that silently fails to parse.Option B: the community server
Works from Unity 2021 onward. Two halves, and both are required — this is where most failed setups go wrong.
- 1 Install uv
uvxruns the Python server without you managing a virtualenv. Install it once, globally.bash# Windows (PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Verify uvx --version - 2 Install the Unity-side package
In Unity: Window → Package Manager → + → Add package from git URL, then paste the MCP for Unity repository URL from its README. Do not skip this. Without it the server has nothing to talk to.
- 3 Confirm the Unity window appears
The package adds an MCP window to the Editor menus showing connection status. If that window is missing, the package did not install.
- 4 Add the server to your client
Pin the version so a background update cannot change your tooling mid-project.
json{ "unityMCP": { "type": "stdio", "command": "C:\\Users\\you\\.local\\bin\\uvx.exe", "args": [ "--from", "mcpforunityserver==10.0.0", "mcp-for-unity", "--transport", "stdio" ] } } - 5 Check the Unity window says connected
Start your client, then look at the MCP window in Unity. It should report a live connection. This is the check that actually matters.
--offline to the args makes uvx use only its local cache. Faster and immune to network hiccups, but the version must already be cached or the server will not start at all.Verify end to end
A green light in your client only proves the server process started. It says nothing about Unity. Prove the whole chain with a question the model could not possibly answer from training data:
What scene is currently open in my Unity project,
and how many assets are in it?A real answer naming your actual scene means all three pieces are talking. A generic answer, an apology, or an error means the Unity half is not connected.
When it does not work
Common failures
| Symptom | Usual cause | Fix |
|---|---|---|
No Unity tools listed | Config not loaded | Fully restart the client, not just the window. |
Tools listed, all fail | Editor closed or package missing | Open Unity; confirm the Unity-side package. |
Config seems ignored | Invalid JSON | Single backslashes or a trailing comma. |
Server will not start | <code>--offline</code> with no cache | Drop --offline for the first run. |
Answers are generic | Tool calls return nothing | Verify the Unity side, not the client. |
Edits conflict | Both servers running | Disable one. |
What to take away
- Install one server, not both.
- The official relay needs Unity 6.3 and the AI Assistant package.
- The community server needs uv and a Unity-side package.
- Windows JSON paths need double backslashes.
- Verify by asking something only your open project could answer.