Unity MCP setup with the AI Assistant package takes four steps. On Unity 6 or later with com.unity.ai.assistant installed, check that Unity Bridge shows Running under Edit > Project Settings > AI > Unity MCP Server. Then configure Claude Code, Cursor or another MCP client, either with the Integrations > Configure button or by pointing it at the relay binary in ~/.unity/relay/ with the --mcp argument. Finally, accept the pending connection in Unity and test it with a read-only prompt, such as asking the client to summarize the console.
Unity MCP setup through the AI Assistant package lets an external coding agent such as Claude Code or Cursor work inside the Unity Editor. According to Unity's get-started page, the process is: confirm the Unity bridge is running, configure your client, approve the connection in Unity, then test it. This guide takes those steps in order and adds what the docs spread across sections: a prerequisites checklist, a table of relay paths for each platform, and a failure checklist.
One caveat first. The page this guide is based on is for package version 2.7.0-pre.3, which is a pre-release. Menu names, tool names and settings may change before a stable release, so check the current docs if a menu doesn't match.
What is Unity MCP, and who is it for?
The get-started doc describes Unity MCP as a way for external AI clients to control the Unity Editor through the Model Context Protocol (MCP). Unity runs a bridge inside the editor. A small relay program connects your AI client to that bridge.
Based on the docs, it fits solo developers who already do most of their coding in an external agent and want that agent to read the console, inspect scenes or edit GameObjects without copying and pasting. If you only use the built-in Assistant chat window, it adds little, because that path already connects through Unity's AI Gateway.
For how the same idea works in another engine, see our godot-ai MCP server walkthrough.
What do you need before you start?
The get-started page lists these requirements:
- Unity 6 (6000.0) or later. Older editor versions are not covered.
- The
com.unity.ai.assistantpackage installed in your project. - An MCP-compatible client. The doc names Claude Code, Cursor, Windsurf and Claude Desktop.
The get-started page does not cover pricing, Unity account tiers or AI credit requirements. Check the wider AI Assistant package docs for those before you plan a workflow around this feature.
A practical addition that the doc does not mention: put the project under version control and commit before you connect an agent. That gives you an easy way to undo anything the agent changes in a scene.
Step 1: How do you confirm the Unity bridge is running?
- Open your project in Unity 6.
- Go to Edit > Project Settings > AI > Unity MCP Server.
- Check the Unity Bridge status. According to the doc, it should show Running in green, and it starts on its own when the editor loads.
- If it shows Stopped, select Start.
The doc also says Unity installs a relay binary to ~/.unity/relay/ on startup. AI clients launch this relay to reach the editor. You need its exact path for manual configuration in the next step.
Step 2: How do you configure Claude Code or Cursor?
The docs offer two routes.
Automatic route
- On the same Unity MCP Server settings page, expand Integrations.
- Select your client.
- Select Configure.
This writes the client configuration for you. Per the docs, it is the shorter path, and it avoids the path mistakes covered below.
Manual route
If you prefer to edit the configuration yourself, or your client isn't in the Integrations list, add an mcpServers entry named unity-mcp. The doc shows the same JSON for Claude Code and Cursor. In Cursor, it goes under Cursor Settings > MCP. Here is the doc's macOS Apple Silicon example, with yourname standing in for your user folder:
{
"mcpServers": {
"unity-mcp": {
"command": "/Users/yourname/.unity/relay/relay_mac_arm64.app/Contents/MacOS/relay_mac_arm64",
"args": ["--mcp"]
}
}
}
The doc gives two rules for this entry:
- Use a full absolute path. Some clients may not expand the tilde (
~), so~/.unity/relay/...can fail even though it works in a terminal. - Keep the
--mcpargument. It switches the relay into MCP server mode.
Relay paths by platform
The doc's JSON example uses only the macOS ARM path, so Windows, Intel Mac and Linux users have to swap in their own. All the binaries sit under .unity/relay in your home folder:
| Platform | Relay path listed in the docs |
|---|---|
| macOS (Apple Silicon) | ~/.unity/relay/relay_mac_arm64.app/Contents/MacOS/relay_mac_arm64 |
| macOS (Intel) | ~/.unity/relay/relay_mac_x64.app/Contents/MacOS/relay_mac_x64 |
| Windows | %USERPROFILE%\.unity\relay\relay_win.exe |
| Linux | ~/.unity/relay/relay_linux |
In the config file, replace ~ or %USERPROFILE% with the real path to your home folder. On Windows, JSON syntax also requires each backslash to be doubled, for example C:\\Users\\yourname\\.unity\\relay\\relay_win.exe.
Step 3: How do you approve the connection in Unity?
The docs say that a client connecting for the first time triggers a Pending Connection message in Unity. To approve it:
- Go back to Edit > Project Settings > AI > Unity MCP Server.
- Under Pending Connections, review the client's details.
- Select Accept or Deny.
The client can't call any tools until you accept it. According to the doc, clients you have already approved reconnect automatically, and connections from Assistant through the AI Gateway are approved automatically.
This approval step is the main security gate. Once you accept, an external agent can act on your open project. Two habits follow from that. Read the client details before you accept, and deny anything you don't recognize. Commit your work before you let an agent edit scenes. For keeping an agent's standing instructions tidy once it has this kind of access, see our note on Claude Code's /doctor prompt audit.
Step 4: How do you know it worked?
The doc gives two signs of a working connection:
- The client appears under Connected Clients on the Unity MCP Server page.
- The client lists Unity tools, such as
Unity_ManageSceneandUnity_ManageGameObject.
For a first test, the doc suggests asking the client to read the Unity console and summarize warnings or errors. The client may use the Unity_ReadConsole tool to do this. A prompt along these lines works:
Read the Unity console and summarize any warnings or errors, grouped by type.
A read-only test like this is a sensible first step because it proves the connection works without changing anything. Save prompts that edit scenes or GameObjects until you've seen the console test succeed and have a fresh commit.
How do you target one Unity editor when several are open?
By default, the doc says, the relay connects to the first editor instance it finds. That's fine with one project open. With two or more, the agent could attach to the wrong one.
The doc lists two ways to choose an editor:
- Command-line arguments:
--project-path <path>or--instance-id <pid> - Environment variables:
UNITY_PROJECT_PATHorUNITY_INSTANCE_ID
If both are set, the command-line argument takes precedence.
Using arguments:
{
"mcpServers": {
"unity-mcp": {
"command": "/Users/yourname/.unity/relay/relay_mac_arm64.app/Contents/MacOS/relay_mac_arm64",
"args": ["--mcp", "--project-path", "/Users/yourname/Projects/MyGame"]
}
}
}
Using an env block:
{
"mcpServers": {
"unity-mcp": {
"command": "/Users/yourname/.unity/relay/relay_mac_arm64.app/Contents/MacOS/relay_mac_arm64",
"args": ["--mcp"],
"env": {
"UNITY_PROJECT_PATH": "/Users/yourname/Projects/MyGame"
}
}
}
}
A project path is easier to manage than an instance ID. An instance ID is a process ID, so it is likely to change each time the editor restarts.
What if it doesn't connect? A failure checklist
The table below maps common symptoms to the documented step most likely to fix them. It is built from the get-started steps and does not replace Unity's own troubleshooting guide.
| Symptom | Likely cause | Where to look |
|---|---|---|
| Unity Bridge shows Stopped | The bridge didn't start, or was stopped | Step 1: select Start on the Unity MCP Server page |
| Client reports it can't start the server | Tilde not expanded, wrong platform binary, or missing --mcp | Step 2: use the full absolute path from the table and keep --mcp |
| Client starts but never shows under Connected Clients | Connection still waiting for approval | Step 3: check Pending Connections and select Accept |
| Client connects, but the console or scene is from another project | Relay attached to the first editor it found | Targeting: add --project-path or UNITY_PROJECT_PATH |
| Previously working client stops responding after a restart | Bridge not running yet, or an outdated instance ID | Step 1, then check any --instance-id value |
For bridge problems this table doesn't cover, the get-started page links to Unity's Troubleshoot Unity MCP bridge issues page. Start there.
The get-started page also links to a guide on registering custom MCP tools. That's the next step if you want the agent to run studio-specific editor actions beyond the built-in tools. If you're putting together a broader toolkit for agents, our look at the Awesome Gamedev Agent Skills pack covers a different approach to adding engine knowledge.
Verdict: is Unity MCP setup worth it?
Based on the documentation, setup is short: check the bridge, configure the client, approve the connection, test. The Integrations > Configure button handles most of the manual JSON. Manual setup mostly comes down to getting the absolute relay path right for your platform.
The caveats are real. The docs are for a pre-release version (2.7.0-pre.3), so steps may change. Only Unity 6 and later is supported. And once you accept a connection, an outside agent has real access to your editor, which is why the approval step and version control matter.
If you already work in Claude Code or Cursor on a Unity 6 project, this looks worth the few minutes it takes. If you're on an older Unity version or happy with the built-in Assistant chat, you can wait for a stable release. For related coverage, see our Unity guides and coding agents pages.
FAQ
Which Unity version does Unity MCP require?
According to Unity's get-started doc, Unity MCP needs Unity 6 (6000.0) or later with the com.unity.ai.assistant package installed. The page covers package version 2.7.0-pre.3, a pre-release, so requirements may change.
Where is the Unity MCP relay binary installed?
The docs say Unity installs the relay to ~/.unity/relay/ on startup. The binary names are relay_mac_arm64 or relay_mac_x64 (inside a .app bundle) on macOS, relay_win.exe on Windows (%USERPROFILE%\.unity\relay\) and relay_linux on Linux. In client config, use the full absolute path, because some clients don't expand the tilde.
How do I set up Unity MCP in Cursor or Claude Code?
The easiest way is Edit > Project Settings > AI > Unity MCP Server > Integrations: select your client, then select Configure. To set it up manually, add an mcpServers entry named unity-mcp with the relay's absolute path as the command and ["--mcp"] as the args. In Cursor, this goes under Cursor Settings > MCP.
How do I approve a connection from an AI client in Unity?
A client connecting for the first time shows up under Pending Connections on the Unity MCP Server settings page. Review its details and select Accept or Deny. Per the docs, the client can't call any tools until you accept it, and approved clients reconnect automatically after that.
How do I connect to a specific Unity project when several are open?
By default, the relay connects to the first editor it finds. Add --project-path <path> or --instance-id <pid> to the args, or set the UNITY_PROJECT_PATH or UNITY_INSTANCE_ID environment variable. If both are set, the docs say the command-line argument wins.