
1. 为什么 Unity 开发者需要一个 MCP 副驾驶Unity-MCP 是一套把 Unity 编辑器接入 MCP 协议Model Context Protocol的开源方案它让 Claude Code、Cline 这类支持 MCP 的 AI 客户端不再只是“隔着屏幕给你一段 C# 代码”而是能直接读取当前场景层级、创建 GameObject、挂载脚本、修改材质参数。适合两类人刚学 Unity、想用自然语言快速搭原型的同学以及被资产整理、场景搭建、测试脚本这些重复劳动拖住的老手。我自己的痛点是以前让 AI 写个“旋转立方体”它给我一段Update()里的transform.Rotate然后我还得手动新建脚本文件、拖到物体上、调参数、运行。Unity-MCP 把这条链路缩短成一句话——AI 通过 MCP 服务端拿到 Unity 插件的工具列表直接调用“创建物体”“添加组件”这些能力操作结果实时反映在 Scene 视图里。不过实际落地时很多人卡在三个地方Unity-MCP 服务端怎么起、Cline/CC Switch 的settings.json和config.toml怎么写、AI 客户端的模型通道怎么统一。这篇就按“能跑起来”的顺序把配置和一次完整验证动作写清楚中间用 TaoToken 做统一的 Key/API 通道省得每个客户端各配一套。2. 前置准备TaoToken 统一 Key 与 API 通道Unity-MCP 本身只负责“Unity 编辑器 ↔ MCP 服务端”这一段真正理解你自然语言、决定调用哪个工具的是 AI 客户端背后的大模型。所以你需要一个稳定的模型 API 通道。TaoToken 在这里的作用是一个 Key 同时给 Cline、Claude Code、CC Switch 等客户端用接口地址统一不用为每个工具单独申请和切换。先拿到 Key。打开控制台页面https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_console登录后在 API Keys 页面创建一个新 Key复制出来形如sk-xxxx的字符串先存到本地临时文件里后面配置要用。注意别把它提交到 Git 仓库。如果你还没决定用哪个客户端可以先在模型对话页面试一下模型对 Unity/C# 的理解程度https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_chatAPI 的基础地址是https://taotoken.net/api这个地址在下面所有客户端配置里都会用到。它兼容 OpenAI 风格的/v1/chat/completions也支持 Anthropic 风格的调用所以 Cline 和 Claude Code 都能接。提示Key 只在创建时完整显示一次如果关掉页面忘了复制直接删掉重建一个比到处找省事。3. 启动 Unity-MCP 服务端并导入 Unity 插件Unity-MCP 的仓库在 GitHub 上IvanMurzak/Unity-MCP结构大致分三块UnityProject插件本体、ServerMCP 服务端、Client示例客户端。我们只需要前两块。先克隆到本地git clone https://github.com/IvanMurzak/Unity-MCP.git cd Unity-MCP服务端是 .NET 项目确认本机装了 .NET 6 或更高版本dotnet --version然后进 Server 目录启动cd Server dotnet run第一次运行会还原 NuGet 包耐心等一两分钟。看到类似MCP server listening on ...的输出说明服务端起来了。默认它会监听一个本地端口不同版本可能是 stdio 或 SSE 模式以你终端打印的为准。接着处理 Unity 侧。打开你的 Unity 项目2021.3 或更高版本把Unity-MCP/UnityProject/Assets下的插件目录复制进你项目的Assets里或者用 Package Manager 的 “Add package from disk” 指向package.json。导入完成后Unity 顶部菜单栏会出现 MCP 相关菜单点MCP → Connect让它连上刚才启动的服务端。连接成功的标志是 Unity Console 里出现握手日志同时服务端终端会打印客户端已注册。到这一步MCP 的“第二层”和“第三层”就打通了。4. Cline 与 CC Switch 的可复制配置骨架这一节是重点配置写错是最常见的失败原因。分两个客户端讲。4.1 Cline 的 settings.jsonCline 是 VS Code 插件它的模型配置走 VS Code 的 settings。打开命令面板CtrlShiftP搜 “Preferences: Open User Settings (JSON)”在settings.json里加入{ cline.apiProvider: openai, cline.openAiApiKey: sk-你的TaoTokenKey, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiModelId: claude-sonnet-4-20250514, cline.mcpServers: { unity: { command: dotnet, args: [run, --project, /绝对路径/Unity-MCP/Server] } } }几个关键点openAiBaseUrl填https://taotoken.net/api不要带/v1Cline 会自己拼mcpServers里的command用dotnetargs指向你本机 Server 项目的绝对路径Windows 下路径用双反斜杠或正斜杠。模型 ID 按你实际可用的填这里只是示例。4.2 CC Switch 的 config.tomlCC Switch 用来在多个 Claude Code 配置间切换它的配置文件是config.toml一般放在~/.cc-switch/config.tomlWindows 在%USERPROFILE%\.cc-switch\。骨架如下[[providers]] name taotoken api_base https://taotoken.net/api api_key sk-你的TaoTokenKey model claude-sonnet-4-20250514 [[mcp_servers]] name unity command dotnet args [run, --project, /绝对路径/Unity-MCP/Server]保存后重启 CC Switch在界面里选中taotoken这个 provider。它会把api_base和api_key注入到 Claude Code 的环境变量里Claude Code 启动时就能通过 TaoToken 的通道调用模型同时加载unity这个 MCP 服务。注意config.toml里的args路径如果含空格要用引号包起来否则dotnet run会解析失败。4.3 参数对照表配置项Cline (settings.json)CC Switch (config.toml)说明API 地址cline.openAiBaseUrlapi_base统一填https://taotoken.net/apiKeycline.openAiApiKeyapi_key同一个 TaoToken Key 可复用模型cline.openAiModelIdmodel按可用模型填MCP 服务cline.mcpServers.unity[[mcp_servers]]command 用 dotnetargs 指 Server 路径5. 验证请求让 AI 读取场景并生成 C# 脚本配置写完来一次完整验证。确保三件事同时成立Unity 编辑器开着且已MCP → Connect、MCP 服务端在跑、AI 客户端已加载 unity 服务。在 Cline 或 Claude Code 的对话框里输入读取当前 Unity 场景的层级结构告诉我场景里有哪些物体。 然后在 (0, 2, 0) 位置创建一个名为 Spinner 的立方体 生成一个 C# 脚本让它绕 Y 轴每秒旋转 90 度并挂载到这个立方体上。正常情况下AI 会先调用“读取场景”工具返回类似Main Camera、Directional Light的列表接着调用“创建物体”工具Scene 视图里出现 Spinner最后它生成脚本内容并通过“添加组件/创建脚本”工具挂载。你可以在 Unity 里选中 Spinner看 Inspector 上是否多了旋转脚本。生成的脚本大致长这样using UnityEngine; public class Spinner : MonoBehaviour { public float degreesPerSecond 90f; void Update() { transform.Rotate(0f, degreesPerSecond * Time.deltaTime, 0f); } }如果 AI 只返回了代码文本、没有真正操作场景说明 MCP 工具没被调用。回到客户端看 MCP 服务是否显示 connected再检查args路径是否正确。6. 本篇常见报错排查服务端起不来报dotnet: command not found没装 .NET SDK去装 6.0 以上版本装完重开终端。Unity 菜单里没有 MCP 选项插件没导入成功。确认Assets下有 Unity-MCP 的目录或者 Package Manager 里能看到对应包。导入后要等 Unity 编译完成。AI 客户端报 401 或 invalid api keyTaoToken Key 复制错了或者api_base多写了/v1。重新建 Key地址严格填https://taotoken.net/api。MCP 显示 connected 但 AI 不调用工具模型可能不支持 function calling换一个支持工具调用的模型 ID。另外确认客户端版本支持 MCP。dotnet run报端口占用上一次的服务端进程没退干净。lsof -i :端口找到进程 kill 掉或者重启终端。路径含中文或空格导致 args 解析失败把 Unity-MCP 克隆到纯英文无空格路径下比如D:/dev/Unity-MCP。排障时如果怀疑是 Key 或通道问题直接去 API Keys 页面核对https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_keys接入细节和字段说明看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_doc7. 把通道固定下来长期跑编码任务一次验证通过后如果你打算长期用 Unity-MCP 做场景搭建、脚本生成、批量资产处理建议把模型通道固定成 Coding Plan避免每次临时切 Key。Coding Plan 适合这种“客户端常驻 频繁调用工具”的场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_planClaude Code 用户如果走 Anthropic 风格接入配置入口在这里https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentunity_mcp_claude最后提醒一句实操经验Unity-MCP 会真实修改你的场景和脚本文件动手前先git commit一次AI 操作完用git diff看一眼改了什么不满意直接回滚。这样你既能享受自然语言指挥编辑器的效率又不会因为一次误操作丢掉半天的场景搭建成果。