mcp-unity
让 AI 助手直接操控 Unity 编辑器,通过 MCP 协议实现场景、预制体、资源的自动化管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 助手直接操控 Unity 编辑器,通过 MCP 协议实现场景、预制体、资源的自动化管理
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是一名 Unity 游戏开发者,正在用 AI 编程助手(比如 Cursor 或 Windsurf)编写游戏逻辑。突然你意识到,需要在编辑器里创建一个新的预制体、调整某个 GameObject 的 Transform 属性、或者运行一套测试用例——过去这意味着必须切出 AI 工具,切换到 Unity Editor,手动操作,再切回来。MCP Unity 正是为了消除这个割裂感而诞生的。
MCP(Model Context Protocol)是 Anthropic 主导推出的开放协议,旨在让 AI 模型能够与各类工具和数据源进行标准化交互。它的核心理念是"一次接入,到处使用"——开发者只需要为某个应用实现一次 MCP Server,所有支持 MCP 的 AI 客户端(Claude Code、Cursor、Windsurf、Codex CLI 等)就都能调用它。
游戏引擎领域长期缺乏这类集成工具。大多数 AI 编程助手对 Unity 的了解止步于代码层面,看不到场景层级、预制体、资源包等编辑器内部状态。MCP Unity 填补了这个空白,让 AI 能够真正"看见"并操作 Unity Editor 的完整环境。
该项目的作者是 GitHub 用户 CoderGamester,专注于 AI + 游戏开发工具链的交叉领域。项目于 2024 年中开始开发,当前版本 1.3.0,Star 数持续增长,在 Unity + AI 工具圈子里已形成一定的技术影响力。

图1:MCP Unity 在 Unity Editor 中的配置界面,提供 WebSocket 端口和超时时间等核心参数。
MCP Unity 提供了一套完整的 MCP 工具集,几乎覆盖了 Unity 开发中所有高频编辑器操作。这些工具按功能可以分成以下几类:
GameObject 操作:包括创建、选择、更新、复制、删除、重设父子关系等。比如 update_component 可以给一个 GameObject 动态添加 Rigidbody 组件并设置质量;create_prefab 能从已有的 MonoBehaviour 脚本创建预制体并预设序列化字段值。这对于 AI 自动生成游戏对象特别有价值——想象 AI 根据游戏设计文档自动创建一套完整的 UI 层级结构,这在以前是不可想象的。
场景管理:支持创建、加载、保存、删除场景,支持叠加加载模式(LoadSceneMode.Additive)。get_scene_info 可以获取当前场景的完整信息。这些工具让 AI 能够自主管理游戏关卡的切换逻辑。
资源与包管理:add_package 可以在包管理器中安装 TextMeshPro 等常用包;get_assets_resource 能够列出项目中的所有资源文件路径。这解决了 AI"不知道项目里有哪些可用资源"的痛点。
测试与调试:run_tests 驱动 Unity Test Runner 执行 EditMode 和 PlayMode 测试;get_console_logs 抓取编辑器控制台日志,支持分页;send_console_log 则允许 AI 向编辑器发送自定义日志用于调试。
材质与变换:create_material、assign_material、modify_material 构成了完整的材质操作链路;transform_tools 提供位置/旋转/缩放的读写接口。
批量执行:batch_execute_tool 是性能优化的关键——它支持批量发送命令,减少 AI 与 Unity 之间的往返延迟。
除了工具,MCP Unity 还提供了 7 个 MCP Resources(菜单项列表、场景层级、测试列表、资产列表等)和 1 个 Prompt(GameObject 处理指南),进一步扩展了 AI 的上下文感知能力。
MCP Unity 采用了精心设计的两层架构:
Unity 端(C#):运行在 Unity Editor 内,通过 Editor/UnityBridge/McpUnityServer.cs 启动一个 WebSocket 服务器(默认 ws://localhost:8090/McpUnity)。所有工具的实际执行都发生在 Unity 主线程上,通过 EditorCoroutineUtility 安全调度。这确保了操作不会违反 Unity 的线程安全约束。C# 端提供了工具基类 McpToolBase 和资源基类 McpResourceBase,开发者可以通过继承快速扩展新工具。
Node.js 端(TypeScript):这是一个标准的 MCP stdio 服务器,通过 @modelcontextprotocol/sdk 实现。它注册所有 MCP 工具和资源,并通过 WebSocket 与 Unity 端双向通信。Node 端使用 Zod 做参数校验,用 zod-to-json-schema 生成 MCP Schema,代码质量较高。
两层之间的通信协议是基于 JSON-RPC 的自定义消息格式,包含请求 ID、工具名称、参数和超时控制。

图2:Node.js MCP 服务器通过 WebSocket 与 Unity Editor 通信,支持 MCP Inspector 调试。
MCP Unity 以标准的 Unity Package Manager(UPM)格式发布(com.gamelovers.mcp-unity),支持从 Git URL 或本地路径安装。Unity 端配置信息持久化在 ProjectSettings/McpUnitySettings.json 中,包含 WebSocket 端口和请求超时时间。
Node.js 端除了手动安装外,还支持通过 npx mcp-unity-server 或 Smithery 平台自动发现和安装。Dockerfile 提供了多阶段构建(node:18-alpine),包含构建缓存优化和非 root 用户运行。
IDE 集成方面,MCP Unity 有一个巧妙设计:通过读取 Library/PackedCache 文件夹为 VSCode 类 IDE 提供 Unity 包的代码智能感知,让 AI 助手在编写 C# 代码时能够获得正确的类型信息和自动完成。
项目代码结构清晰,采用了 Unity Assembly Definition(.asmdef)分离编辑器代码和运行时代码。编辑器部分有完整的测试套件(EditMode 测试),Node.js 端使用 Jest 进行单元测试,覆盖命令队列、错误处理、批量执行等核心路径。
文档质量极高——README 提供了简体中文、日语、英语三个版本,CLAUDE.md 和 AGENTS.md 为 AI 代理提供了详尽的开发指南,llms.txt 文件方便大语言模型理解项目结构。
lower_snake_case),跨语言开发时维护成本较高。MCP Unity 代表了一个重要趋势:AI 原生开发工具正在从通用编程领域渗透到垂直应用领域。随着 MCP 协议的普及,可以预见未来会有更多专业工具(Unreal Engine 插件、Blender 集成、CAD 软件等)接入 MCP 生态。
对于游戏开发团队而言,MCP Unity 使得 AI 参与到更早期的原型设计和迭代环节——AI 不再只是代码补全工具,而是能够理解游戏场景、操控游戏对象的真正助手。这将显著提升独立开发者和小型团队的原型验证效率。