DU

dunward/unity-mcp-template

Developer tools
10 stars 3 forks Quality 53 Trend 18MIT

Simple template project for controlling Unity via MCP

Overview

This is a simple example project demonstrating interaction between a TypeScript-based MCP server and Unity. You can build and configure your own tools to expand and develop further. unity-mcp-sample is a Unity example project. To minimize version-related issues and ensure compatibility with legacy versions, it does not use packages like NewtonsoftJSON. Additionally, the EditorWindow is implemented using IMGUI. The MCP can be managed through the UnityMCP-ShowWindow at the top. Open Claude Desktop Settings, and Developer-Edit Config Both input data structure should be same. Refer to CreateObjectTools and create the tool you want. Refer to createObject and create the tool you want. - [x] Enable Unity to send result messages to MCP - [ ] Discussion here ~~Change TCP structure (currently implemented with client-server reversed due to a bug in the TypeScript SDK)~~ - ~~Unity (Current : TCP Server, TODO : TCP Client)~~ - ~~MCP (Current : TCP Client, TODO : TCP Server)~~

README

Unity MCP Template

This is a simple example project demonstrating interaction between a TypeScript-based MCP server and Unity. You can build and configure your own tools to expand and develop further.

Create more tools your own!

Quick Start

unity-mcp-sample is a Unity example project. To minimize version-related issues and ensure compatibility with legacy versions, it does not use packages like NewtonsoftJSON. Additionally, the EditorWindow is implemented using IMGUI. The MCP can be managed through the UnityMCP-ShowWindow at the top.

Build MCP Server

within the unity-mcp-server

npm install
npm run build

Add MCP in Claude Desktop

Open Claude Desktop Settings, and Developer-Edit Config

{
    "mcpServers": {
      "unity-mcp": {
        "command": "node",
        "args":["F:/unity-mcp-template/unity-mcp-server/dist/index.js"]
      }
    }
  }

Create your own tools!

Both input data structure should be same.

Unity

Refer to CreateObjectTools and create the tool you want.

Typescript

Refer to createObject and create the tool you want.

TODO List

  • [x] Enable Unity to send result messages to MCP
  • [ ] Discussion here Change TCP structure (currently implemented with client-server reversed due to a bug in the TypeScript SDK)
    • Unity (Current : TCP Server, TODO : TCP Client)
    • MCP (Current : TCP Client, TODO : TCP Server)
View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →