ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Unity-MCP 实战:用 Model Context Protocol 让 AI 成为你的 Unity 开发超级助手

Unity-MCP 实战:用 Model Context Protocol 让 AI 成为你的 Unity 开发超级助手 1. Unity-MCP 到底解决什么问题Unity 开发里最耗神的往往不是写核心玩法而是那些重复的编辑器操作新建一个空物体、挂上脚本、调位置、改标签、设父子关系再切到另一个场景重复一遍。如果这些动作能用一句自然语言描述让 AI 直接落到 Unity 编辑器里开发节奏会完全不一样。Unity-MCP 就是干这件事的它把 Unity 编辑器里的工具能力通过 Model Context Protocol 暴露给大模型让 AI 能真正“动手”操作场景、资源和脚本而不是只给你一段需要手动粘贴的代码。MCP 是 Anthropic 提出的模型上下文协议核心思路是把工具、数据源、上下文统一成标准接口模型侧不用为每个工具单独适配。放到 Unity 场景里Unity-MCP 相当于在编辑器和 LLM 之间架了一个桥Unity 侧跑一个 MCP Server把 GameObject 操作、层级查询、组件挂载等能力注册成工具AI 客户端通过 MCP 协议调用这些工具指令就能直接作用到当前打开的场景。适合谁独立开发者、做原型验证的团队、以及想把 AI 接进日常编辑器工作流的 Unity 工程师。它不替代你写游戏逻辑但能把你从大量机械操作里解放出来。2. 前置准备TaoToken 与 Unity 侧环境要让 AI 客户端稳定调用 MCP 工具模型侧的接入点得先配好。我这边用的是 TaoToken 作为模型接入层它提供兼容 OpenAI 风格的 API配置简单适合拿来跑 MCP 这类需要多轮工具调用的场景。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 路径不带 UTM 参数配置时别写错。Unity 侧需要准备的东西不多Unity 2022.3 或更新版本URP 项目也能用Python 3.10 用来跑 MCP Server 进程Node.js 环境用于部分依赖脚本。MCP Server 本身是一个独立进程通过 WebSocket 或 stdio 和 Unity 编辑器通信所以 Unity 里要装一个 Bridge 插件来转发指令。插件安装走 Package Manager 的 Git URL 方式即可装完重启编辑器菜单里会出现 MCP 相关入口。注意MCP Server 默认只监听本地回环地址不要把它暴露到公网。工具调用涉及场景写操作权限边界要自己把控。3. 可复制的 MCP 服务端配置骨架下面这份配置可以直接作为起点。它定义了 MCP Server 的基本信息、Unity 桥接地址以及模型侧通过 TaoToken 接入的参数。把 API Key 换成你在控制台生成的即可生成入口在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。{ mcpServers: { unity-mcp: { command: python, args: [-m, unity_mcp.server, --port, 8765], env: { UNITY_BRIDGE_HOST: 127.0.0.1, UNITY_BRIDGE_PORT: 8766, LOG_LEVEL: info } } }, llm: { provider: openai-compatible, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: claude-sonnet-4-5, max_tokens: 4096 } }这份配置里有两个端口要分清8765 是 MCP Server 对外的服务端口AI 客户端连这个8766 是 Server 和 Unity Bridge 之间的内部通道Unity 插件监听这个。启动顺序建议先开 Unity 编辑器并启动 Bridge再拉起 MCP Server最后在 AI 客户端里加载上面的配置。如果顺序反了Server 会因为连不上 Bridge 而反复重试日志里会刷连接拒绝。模型选择上涉及工具调用的场景建议用支持 function calling 的模型。TaoToken 的模型对话入口在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 可以先在网页里试一下模型对工具描述的理解程度再决定用哪个跑 MCP。4. Unity 侧接入与一次完整验证Unity 这边打开 MCP 服务器窗口点击启动状态灯变绿说明 Bridge 就绪。然后在 AI 客户端里发一条指令比如“在当前场景创建一个名为 CubeA 的立方体位置放在原点上方两米”。正常流程是模型解析指令选择 create_gameobject 工具填入参数MCP Server 转发给 Unity BridgeBridge 调用编辑器 API 生成物体。验证是否跑通看两个地方。一是 Unity 场景层级里是否实时出现 CubeATransform 的 Y 是否为 2。二是让模型调用 get_hierarchy 工具返回的层级 JSON 里应该包含这个物体。如果场景没反应但客户端显示调用成功多半是 Bridge 端口对不上或者 Unity 处于 Play 模式导致编辑器 API 被锁定。// Unity 侧 Bridge 接收指令后的简化处理逻辑 void HandleCreateGameObject(JObject payload) { string name payload[name]?.ToString() ?? NewObject; Vector3 pos ParseVector3(payload[position]); GameObject go GameObject.CreatePrimitive(PrimitiveType.Cube); go.name name; go.transform.position pos; Debug.Log($[MCP] Created {name} at {pos}); }跑通这一步闭环就算成立了。接下来可以试更复杂的指令比如“把 CubeA 的标签设为 Player并挂上 Rigidbody 组件”观察模型是否能连续调用多个工具完成组合操作。这一步能过说明上下文管理和多轮工具调用都正常。5. 本篇常见错误排查连接被拒绝先确认 Unity Bridge 是否真的在监听 8766。可以在终端用netstat -ano | findstr 8766查端口占用。如果端口被别的进程占了改配置里的端口号两边同步改。工具调用返回 unknown tool说明 MCP Server 注册的工具列表和模型看到的对不上。检查 Server 启动日志里有没有加载 Unity 工具模块通常是 Python 依赖没装全缺了 websocket 相关的包。场景有物体但属性不对模型填的参数类型和工具定义不匹配。比如位置传了字符串而不是数组Bridge 解析失败会静默用默认值。在工具定义里把参数 schema 写严格模型侧就能少犯错。多轮对话后上下文丢失MCP 的会话历史由客户端管理如果客户端没开上下文保持每轮都是新会话。检查客户端配置里的 session 相关选项或者把关键上下文写进系统提示里。Unity 编辑器卡死大量工具调用同时写场景会触发编辑器重绘风暴。在 Bridge 侧加一个操作队列串行执行写操作能明显缓解。6. 把 AI 接进日常开发流跑通基础闭环后可以往两个方向延伸。一是把常用操作封装成组合工具比如“创建一个带碰撞体的可拾取物品”一次调用完成多个编辑器动作减少模型来回决策的开销。二是接进长期编码场景让 AI 在理解项目结构的基础上生成脚本并直接挂载这部分对模型的代码能力和上下文长度要求更高可以用 Coding Plan 来跑入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入文档里有完整的工具列表和参数说明遇到工具行为不符合预期时对照文档核对 schema 是最快的排查方式https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Claude Code 相关的接入配置可以参考 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 控制台在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。实际用下来Unity-MCP 最适合的场景是原型期快速搭场景和批量改属性别指望它一次生成完整游戏逻辑。把工具边界划清楚让 AI 做它擅长的机械操作你专注在玩法设计上这个组合的效率提升是实打实的。
返回列表