trackmcp
Back to directory
nurture-tech

unity-mcp-server

View on GitHub

Union ♾️ - The Unity MCP Server

33 stars C#Others Updated Jul 22, 2026
mcpunitycsharp

Documentation

> [!IMPORTANT]

> Union is deprecated. Use Unity's official MCP server.

Union ♾️ - The Unity MCP Server

> A Model Context Protocol server for Unity

Doki Delivery Airship

Key Features

  • 🖼️ Multimodal Vision: Your agent can see what you see. It can view the scene, look through any camera, watch play mode, and inspect asset thumbnails.
  • 🔎 Powerful Search: Go beyond the project panel with simultaneous search across the hierarchy and project assets.
  • ✔️ Superior Code Analysis: Leverage Unity's own compiler for code analysis that is more accurate than your agent's linter.
  • Quick Start: Get running in seconds with a single `mcp.json` configuration file.
  • 🛠️ Extensible: Add your own project-specific tools with minimal boilerplate.
  • 📅 Always Current: Kept up-to-date with the latest MCP protocol version — currently `2025-06-18` via the Official MCP C# SDK.

Compatibility

NameCompatibleNotes
Models
GPT-4.1
Claude 4 Sonnet
Claude 4 Opus
Gemini 2.5 Pro
Gemini 2.5 Flash
o3No image understanding
o4-mini
Unity Versions
Unity 6000.0.xHigher versions should be fine. Lower versions may work but untested.
Agents
Cursor
Rider AI
Claude Desktop
Claude CodeTerminal requires Screen & System Audio Recording permissions on Mac
Operating Systems
Windows
Mac
UbuntuUntested

Setup

1. Install node.js

2. Configure `mcp.json`

json
{
  "mcpServers": {
    "unity": {
      "command": "npx",
      "args": ["-y", "@nurture-tech/unity-mcp-runner", "-unityPath", "", "-projectPath", ""]
    }
  }
}

This will automatically install the `is.nurture.mcp` package in your unity project. Feel free to commit those changes to source control.

About the Tools

> Meet your Unity AI toolbox.

ToolDescription
Assets
`get_asset_contents`Get the full contents of an asset or sub-asset.
`copy_asset`Copy an asset to a new path.
`import_asset`Import an asset from the filesystem into Unity.
`get_asset_importer`Get the importer settings for an asset.
Prefabs
`open_prefab`Open a Unity prefab in isolation mode so that it can be edited.
Scenes
`open_scene`Open a scene
`close_scene`Close an open scene
`save_scene`Save the current scene. If the scene is not dirty, this will do nothing.
`get_game_object`Get the details of a game object in a loaded scene or prefab by its hierarchy path.
`test_active_scene`Test the active scene by entering play mode and running for a given number of seconds.
Scripting
`create_script`Create or replace a C# code file at the given path. This also checks to make sure the script compiles.
`execute_code`Execute code inside the Unity editor.
`get_type_info`Get public fields and methods on a Unity fully qualified type name, including the assembly.
Search
`search`Search project assets and scene objects.
Editor State
`get_state`Get the state of the Unity Editor.
`get_selection`Get the objects the user has currently selected in the editor.
Vision
`focus_game_object`Focus on a game object in the scene view.
`screenshot`Retrieve a preview of what is focused in the scene view.

Known Issues

  • The Google External Dependency Manager (EDMU) causes Unity to hang forever on startup when launched via Cursor on Windows. This is under investigation.
  • The `test_active_scene` tool sometimes fails with the error message `Maximum call stack size exceeded.`
  • The `search` tool occasionally fails with the error message `Search index is not ready yet. Please try again later.`

Adding Project-Specific Tools

Union uses the official C# MCP SDK.

1. Create a static class to hold your tools. Add the `[McpServerToolType]` annotation to the class.

2. Declare static methods to implement each tool. Add the `[McpServerTool]` annotation to each method.

3. Reference the Services directory for examples.

4. You will likely need to quit unity and restart your agent in order for it to see the new tools.

Usage Tips

Here are some tips to get the most out of Union:

  • 🚀 Launch through your agent: Always launch Unity through your AI agent's MCP integration. Launching Unity from the Hub will prevent the MCP server from connecting.
  • 📂 Per-project setup: If your agent supports it, configure the MCP server in your per-project settings. This allows you to seamlessly switch between Unity projects.
  • ⚙️ Command-line arguments: You can pass additional arguments to Unity for advanced scenarios like running in `-batchmode` or `-nographics` for CI/CD pipelines. Add a `--` separator before the Unity-specific arguments:
json
{
    "mcpServers": {
      "unity": {
        "command": "npx",
        "args": [
          "-y",
          "@nurture-tech/unity-mcp-runner"
          "-unityPath",
          "",
          "-projectPath",
          ".",
          "--",
          "-batchmode",
          "-nographics"
        ]
      }
    }
  }
  • ⚠️ Important: Do not use the `-logFile` command-line argument. The MCP server relies on Unity's standard output for communication.
  • 🖥️ Split screen for vision: For tools like `screenshot`, ensure the Unity editor is visible on your screen otherwise it will end up screenshotting the foreground window.

Frequently asked questions

What is unity-mcp-server?

unity-mcp-server is Union ♾️ - The Unity MCP Server

How do I install unity-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is unity-mcp-server open source?

Yes — it is hosted on GitHub at https://github.com/nurture-tech/unity-mcp-server and has 33 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP