关键词:Unity-MCP、Trae、MCP、Unity Editor、AI 辅助开发、Hierarchy 自动化、Windows


一、背景与目标

随着 MCP(Model Context Protocol)的出现,AI 已经不再局限于生成代码文本,而是可以直接操作真实开发环境

本文的目标是:

在 Windows 环境下,将 Trae 作为 MCP Client,成功接入 Unity-MCP,使 AI 能同时:

  • 修改 / 新增 C# 脚本
  • 直接操作 Unity Hierarchy(创建 / 修改 GameObject)
  • 像 Coding 一样具备“可控、可回滚”的工作流

本文完整记录了 从 0 到成功连接 的全过程,并重点解决官方教程中最容易踩坑的部分


二、整体技术架构(先建立正确认知)

在开始之前,先明确三点(非常重要):

  1. Unity-MCP 在 Unity 内部运行,是 MCP Server
  2. Trae 是 MCP Client
  3. 两者通过 HTTP + /mcp endpoint 通信

最终结构是:

Trae (MCP Client)
   │
   │ JSON-RPC over HTTP
   ▼
http://localhost:8080/mcp
   │
Unity-MCP (Server, running inside Unity Editor)
   │
Unity Editor API(Hierarchy / Scripts / Assets)

👉 这意味着:

  • Trae 不需要启动 Server
  • 只需要“连接”到 Unity 提供的 MCP endpoint

三、环境准备(Windows)

1️⃣ Python(必须 ≥ 3.10)

Unity-MCP 对 Python 版本有要求:

  • ✅ Python 3.10+
  • ❌ Anaconda 默认 Python(通常是 3.8 / 3.9)

安装方式(推荐):

winget install --id Python.Python.3.10 -e

⚠️ 注意:
如果你系统里有 Anaconda,一定要确保:

  • python 命令最终指向 Python 3.10
  • Anaconda 不再抢占 python

验证方式:

python --version
py -3.10 --version

2️⃣ 解决 Anaconda 抢占 python 的问题(关键坑)

如果你遇到:

python --version
Python 3.9.x

而:

py -3.10 --version
Python 3.10.x

说明:

Anaconda 在 PATH 中排在 Python310 前面

解决方案(推荐):

  • 将以下路径放在 PATH 最前面:

    C:\Users\<用户名>\AppData\Local\Programs\Python\Python310\
    C:\Users\<用户名>\AppData\Local\Programs\Python\Python310\Scripts\
    
  • 将 Anaconda 相关路径下移或移除

  • 不卸载 Anaconda,只是不让它成为默认 python

验证:

where python
python --version

3️⃣ 安装 uv(Unity-MCP 必需)

python -m pip install -U uv

验证:

uv --version

四、Unity 端:安装并启动 Unity-MCP

1️⃣ 安装 Unity-MCP 插件

在 Unity 中:

  • Window → Package Manager
  • +Add package from git URL
  • 输入:
https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity

安装完成后 重启 Unity


2️⃣ 打开 MCP 窗口(不是 Setup)

很多人卡在这里。

请注意区分:

  • ❌ Local Setup Window(只检查 Python / uv)
  • Toggle MCP Window(真正的 Server 控制窗口)

路径:

Window → MCP for Unity → Toggle MCP Window

3️⃣ 启动 MCP Server

在 MCP Window 中:

  • Transport:HTTP Local
  • 点击 Start Server
  • 你会看到类似:
HTTP URL: http://localhost:8080
Session Active

⚠️ 注意:真正的 MCP endpoint 是:

http://localhost:8080/mcp

五、Trae 端:正确添加 MCP Server(最容易写错的地方)

❌ 常见错误(不要这样做)

  • 不要用 command
  • 不要用 uv run unity-mcp
  • 不要让 Trae 启动 Server

Unity 已经是 Server 了。


✅ 正确方式:Add Manually + 纯 URL 配置

在 Trae 中:

  1. MCP → Add Manually
  2. 选择 Raw JSON / Advanced

粘贴下面这一段(最小可用配置):

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

点击 Confirm


为什么必须是 /mcp

  • Unity-MCP 暴露的是 JSON-RPC endpoint
  • 根路径 / 不是 MCP 协议
  • Trae 只有连到 /mcp 才能完成握手

六、验证是否连接成功

1️⃣ Trae 侧

  • 不再显示 Failed to start
  • Server 状态为 Connected / Ready

2️⃣ Unity 侧

  • MCP Window 显示 Session Active
  • Console 中可能看到 client connection 日志

七、功能验证(最重要的一步)

在 Trae 中输入一句自然语言指令:

Create an empty GameObject named MCP_Test in the current scene

如果你看到:

  • Unity Hierarchy 中立刻出现 MCP_Test

🎉 说明你已经成功实现:AI → MCP → Unity Editor 的完整闭环


八、关于“像 Coding 一样的 Accept / Reject 控制”

当前能力总结:

✅ 脚本代码(C#)

  • Trae 天然支持 diff / accept / reject
  • 和写代码体验一致

⚠️ Hierarchy 操作

  • 默认是即时生效
  • Unity-MCP 使用 Unity Undo 系统
  • 可以通过 Ctrl + Z 回滚

推荐工程化用法

  • 先让 AI 给 Plan(dry-run)
  • 人确认后再执行
  • 等价于“Apply”

九、总结

截至目前(2025):

  • Unity-MCP 是功能最强的开源 Unity MCP Server

  • 唯一能做到:

    • AI 改代码
    • AI 改 Hierarchy
    • AI 真实调用 Unity Editor API
  • Trae + Unity-MCP 是目前 最可控、最工程化 的组合之一

如果你做的是:

  • 仿真
  • 交通 / 骑行 / 数字人
  • 大规模实验自动化

👉 这套架构非常值得投入

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐