home / mcp / unity mcp server

Unity MCP Server

Provides an AI-driven bridge and tools to interact with Unity, enabling in-editor and runtime AI workflows via MCP clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ivanmurzak-unity-mcp": {
      "url": "http://localhost:8080",
      "headers": {
        "UNITY_MCP_HOST": "http://localhost:8080",
        "UNITY_MCP_TOKEN": "YOUR_TOKEN",
        "UNITY_MCP_TOOLS": "tool1,tool2",
        "UNITY_MCP_AUTH_OPTION": "required",
        "UNITY_MCP_KEEP_CONNECTED": "true"
      }
    }
  }
}

Unity MCP is an AI-powered bridge that lets you connect language models to Unity for in-editor and runtime AI-assisted development. It enables you to run AI agents, generate code, debug, and control Unity workflows directly from your MCP client, with flexible deployment options for local and remote setups.

How to use

To use Unity MCP, install the plugin, choose an MCP client, and configure the connection. You can run the MCP server locally or host it remotely, then connect your MCP client to the server endpoint. Once connected, you can issue natural language commands to perform Unity operations, generate code, create assets, modify scenes, and debug in real time. In runtime usage, you can run AI-powered logic inside your compiled game to drive NPC behavior or automate gameplay scenarios.

How to install

Prerequisites: ensure you have a Unity project and a supported MCP client ready. You may also run the server in a container or as a binary. Follow these concrete steps to get started.

Step 1: Install Unity MCP Plugin
- Option A: Import the installer package into your Unity project
- Option B: Install via OpenUPM if you prefer package management

Step 2: Install MCP Client
- Select one client to use as the chat interface with the LLM (Claude Code, Claude Desktop, Cursor, Windsurf, etc.)

Step 3: Configure MCP Client
- In Unity, open Window/AI Game Developer β€” MCP
- Click Configure and connect to the MCP server endpoint

Optionally you can run the MCP server in a Docker container or as a standalone binary. Use the commands shown in the server setup section to connect your client to the server.

Additional sections

Configuration, security, and troubleshooting notes follow to help you run Unity MCP reliably across environments. This includes environment variables, port configuration, and transport choices for local or cloud deployments.

Available tools

assets-copy

Copy the asset at path and stores it at newPath

assets-create-folder

Creates a new folder in the specified parent folder

assets-delete

Delete the assets at paths from the project

assets-find

Search the asset database using the search filter string

assets-find-built-in

Search the built-in assets of the Unity Editor

assets-get-data

Get asset data from the asset file including all serializable fields and properties

assets-material-create

Create new material asset with default parameters

assets-modify

Modify asset file in the project

assets-move

Move the assets at paths in the project (also used for rename)

assets-prefab-close

Close currently opened prefab

assets-prefab-create

Create a prefab from a GameObject in the current active scene

assets-prefab-instantiate

Instantiates prefab in the current active scene

assets-prefab-open

Open prefab edit mode for a specific GameObject

assets-prefab-save

Save a prefab in prefab editing mode

assets-refresh

Refreshes the AssetDatabase

assets-shader-list-all

List all available shaders in the project assets and packages

package-add

Install a package from the Unity Package Manager registry, Git URL, or local path

package-list

List all packages installed in the Unity project (UPM packages)

package-remove

Remove (uninstall) a package from the Unity project

package-search

Search for packages in both Unity Package Manager registry and installed packages

gameobject-component-add

Add Component to GameObject

gameobject-component-destroy

Destroy one or many components from target GameObject

gameobject-component-get

Get detailed information about a specific Component on a GameObject

gameobject-component-list-all

List C# class names extended from UnityEngine.Component

gameobject-component-modify

Modify a specific Component on a GameObject

gameobject-create

Create a new GameObject in opened Prefab or in a Scene

gameobject-destroy

Destroy GameObject and all nested GameObjects recursively

gameobject-duplicate

Duplicate GameObjects in opened Prefab or in a Scene

gameobject-find

Finds specific GameObject by provided information

gameobject-modify

Modify GameObjects and/or attached component's fields and properties

gameobject-set-parent

Set parent GameObject to list of GameObjects

object-get-data

Get data of the specified Unity Object

object-modify

Modify the specified Unity Object

scene-create

Create new scene in the project assets

scene-get-data

Retrieves the list of root GameObjects in the specified scene

scene-list-opened

Returns the list of currently opened scenes in Unity Editor

scene-open

Open scene from the project asset file

scene-save

Save opened scene to the asset file

scene-set-active

Set the specified opened scene as the active scene

scene-unload

Unload scene from the opened scenes in Unity Editor

screenshot-camera

Captures a screenshot from a camera and returns it as an image

screenshot-game-view

Captures a screenshot from the Unity Editor Game View

screenshot-scene-view

Captures a screenshot from the Unity Editor Scene View

console-get-logs

Retrieves Unity Editor logs with filtering options

editor-application-get-state

Returns information about the Unity Editor application state (playmode, paused, compilation)

editor-application-set-state

Control the Unity Editor application state (start/stop/pause playmode)

editor-selection-get

Get information about the current Selection in the Unity Editor

editor-selection-set

Set the current Selection in the Unity Editor

reflection-method-call

Call any C# method with input parameters and return results

reflection-method-find

Find method in the project using C# Reflection (even private methods)

script-delete

Delete the script file(s)

script-execute

Compiles and executes C# code dynamically using Roslyn

script-read

Reads the content of a script file

script-update-or-create

Updates or creates script file with the provided C# code

tests-run

Execute Unity tests (EditMode/PlayMode) with filtering and detailed results

animations

Animation tooling and control within Unity

particles

Particle system tooling and manipulation

probuilder

ProBuilder tooling for geometry and level design