Skip to main content
Glama
yangfch3

Unity MCP Server

by yangfch3

Unity MCP Server

中文 | English

Unity Editor 插件,通过 MCP (Model Context Protocol) 将 Unity Editor 能力暴露给外部 AI Agent。

Agent(如 Kiro、Cursor、Claude Code)可通过标准 MCP 协议连接到 Unity Editor,调用编辑器功能。

理念

本插件定位为 AI Agent 的 Unity 感知层 + 诊断工具链

  • 感知优先 — 优先覆盖"读取场景状态、获取上下文、辅助诊断"等高频场景,让 Agent 能充分理解当前工程状态并辅助开发决策。

  • 结构化写入 — 提供安全、可审计的写操作能力(如修改属性、增删节点),但不追求覆盖 Unity Editor GUI 的所有交互。

  • 不替代编辑器 — 目标是增强工程师与 Agent 协作的效率,而非将 Editor 的全部操作搬到对话框里。

特性

  • Streamable HTTP 传输 — 基于 MCP 2025-03-26 规范,单一 HTTP 端点

  • 进程内运行 — 无需外部 Node.js/Python 进程,直接在 Editor 内启动

  • 可扩展工具系统 — 实现 IMcpTool 接口即可注册新工具,零修改核心代码

  • Domain Reload 自动恢复 — 进入/退出 PlayMode 后服务自动重启

内置工具

完整的参数说明和使用示例见 工具详细文档

Debug 工具

工具

功能

console_getLogs

获取 Unity Console 日志(支持过滤)

console_clearLogs

清空日志缓冲区

debug_getStackTrace

获取最近 Error/Exception 的完整堆栈

debug_getPerformanceStats

获取 FPS、DrawCall、内存等性能指标

debug_screenshot

截取 Game/Scene 视图截图

Editor 工具

Query(查询)

工具

功能

editor_getHierarchy

获取 GameObject 树结构

editor_getInspector

获取 Inspector 序列化字段值

editor_getSelection

获取当前选中对象信息

editor_findGameObjects

按名称/组件搜索 GameObject

editor_getProjectPath

获取项目根目录路径

editor_getProjectStructure

获取 Assets 目录结构

Mutation(修改)

工具

功能

editor_addGameObject

添加 GameObject

editor_deleteGameObject

删除 GameObject

editor_setField

修改序列化字段值

editor_setTransform

修改 Transform 属性

editor_setActive

修改激活状态

editor_reparentGameObject

修改父节点

editor_addComponent

添加组件

editor_removeComponent

移除组件

editor_setComponentEnabled

启用/禁用组件

editor_selectGameObject

选中指定 GameObject

Project(项目)

工具

功能

menu_execute

按路径执行 Unity 菜单项

playmode_control

控制 PlayMode 状态

Asset(资产)

工具

功能

asset_deleteFolder

删除 Assets 子目录

Build 工具

工具

功能

build_compile

触发脚本编译

build_getCompileErrors

获取编译错误列表

build_runTests

运行 Test Runner 测试

Code 工具(实验性,仅 Unity 2022 Mono)

工具

功能

code_executeImmediate

动态编译并执行 C# 代码(支持主线程/后台双模式)

需在 Window → MCP Server 面板手动开启。详见 工具详细文档

安装

Git URL 安装(推荐)

  1. Unity Editor → Window → Package Manager → + → Add package from git URL

  2. 输入以下 URL:

https://github.com/yangfch3/Unity-MCP-Server.git

或直接编辑宿主项目的 Packages/manifest.json

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

本地路径安装

  1. 克隆本仓库

  2. Unity Editor → Window → Package Manager → + → Add package from disk

  3. 选择本仓库根目录的 package.json

或在 Packages/manifest.json 中添加:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "file:../../path/to/unity-mcp"
  }
}

版本更新

UPM 通过 Git URL 安装后,会在宿主项目的 packages-lock.json 中锁定当前 commit hash。后续不会自动更新。

如需锁定特定版本,可在 URL 末尾追加 Git Tag:

https://github.com/yangfch3/Unity-MCP-Server.git#v0.3.0

对应 Packages/manifest.json 配置:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git#v0.3.0"
  }
}

不带 Tag 则跟踪默认分支最新 commit:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

更新版本时,修改 manifest.json 中的 #tag 后缀为新版本号,或在 UPM GUI 重新 Add package from git URL 输入新 Tag 的 URL 即可。

使用

启动服务

  1. Unity Editor → Window → MCP Server

  2. 设置端口(默认 8090),点击 Start

  3. 复制面板中的配置 JSON

配置 Agent

将以下内容添加到 Agent 的 MCP 配置文件(如 mcp.json):

{
  "mcpServers": {
    "unity-mcp": {
      "url": "http://localhost:8090/"
    }
  }
}

扩展:添加自定义工具

实现 IMcpTool 接口,放在任意 Editor 程序集中,服务启动时会自动发现并注册:

using System.Collections.Generic;
using System.Threading.Tasks;
using UnityMcp.Editor;

public class MyCustomTool : IMcpTool
{
    public string Name => "my_custom_tool";
    public string Category => "custom";
    public string Description => "我的自定义工具";
    public string InputSchema => "{\"type\":\"object\",\"properties\":{}}";

    public Task<ToolResult> Execute(Dictionary<string, object> parameters)
    {
        return Task.FromResult(ToolResult.Success("Hello from custom tool!"));
    }
}

要求

  • Unity 2022.3+

  • 仅 Editor 环境,不影响运行时构建

参与贡献

欢迎参与本项目的开发,详见 CONTRIBUTING.md

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yangfch3/Unity-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server