local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows AI assistants to interact with Unity projects, providing tools to execute menu items and perform operations within the Unity Editor.
MCP Unity 编辑器(游戏引擎)
英语 | 🇨🇳简体中文 | 🇯🇵日语 |
---|
MCP Unity 是 Unity 编辑器模型上下文协议 (MCP) 的实现,允许 AI 助手与你的 Unity 项目进行交互。此软件包在 Unity 和实现 MCP 协议的 Node.js 服务器之间架起了一座桥梁,使 Claude、Windsurf 和 Cursor 等 AI 代理能够在 Unity 编辑器中执行操作。
特征
IDE 集成 - 包缓存访问
MCP Unity 通过将 Unity Library/PackedCache
文件夹添加到您的工作区,提供与类似 VSCode 的 IDE(Visual Studio Code、Cursor、Windsurf)的自动集成。此功能:
- 改进 Unity 软件包的代码智能
- 为 Unity 软件包提供更好的自动完成和类型信息
- 帮助 AI 编码助手了解项目的依赖关系
MCP 服务器工具
execute_menu_item
:执行 Unity 菜单项(标有 MenuItem 属性的函数)示例提示: “执行菜单项‘GameObject/Create Empty’创建一个新的空GameObject”
select_gameobject
:通过路径或实例 ID 选择 Unity 层次结构中的游戏对象示例提示: “选择场景中的主摄像机对象”
update_component
:更新 GameObject 上的组件字段,如果 GameObject 不包含该组件,则将其添加到 GameObject示例提示: “为 Player 对象添加一个 Rigidbody 组件,并将其质量设置为 5”
add_package
:在 Unity 包管理器中安装新包示例提示: “将 TextMeshPro 包添加到我的项目”
run_tests
:使用 Unity Test Runner 运行测试示例提示: “运行我的项目中的所有 EditMode 测试”
notify_message
:在 Unity 编辑器中显示消息示例提示: “向 Unity 发送任务已完成的通知”
add_asset_to_scene
:将 AssetDatabase 中的资源添加到 Unity 场景示例提示: “将我的项目中的 Player 预制件添加到当前场景”
MCP 服务器资源
unity://menu-items
:检索 Unity 编辑器中所有可用菜单项的列表,以方便使用execute_menu_item
工具提示示例: “显示与 GameObject 创建相关的所有可用菜单项”
unity://hierarchy
:检索 Unity 层次结构中所有游戏对象的列表提示示例: “显示当前场景的层次结构”
unity://gameobject/{id}
:通过场景层次结构中的实例 ID 或对象路径检索有关特定 GameObject 的详细信息,包括所有 GameObject 组件及其序列化属性和字段示例提示: “获取有关玩家游戏对象的详细信息”
unity://logs
:从 Unity 控制台检索所有日志的列表示例提示: “显示 Unity 控制台中最近的错误消息”
unity://packages
:从 Unity 包管理器检索有关已安装和可用包的信息示例提示: “列出我的 Unity 项目中当前安装的所有软件包”
unity://assets
:检索有关 Unity Asset Database 中的资产信息示例提示: “查找我的项目中的所有纹理资产”
unity://tests/{testMode}
:检索有关 Unity Test Runner 中的测试的信息示例提示: “列出我的 Unity 项目中所有可用的测试”
要求
安装
安装此 MCP Unity Server 是一个多步骤过程:
步骤 1:通过 Unity 包管理器安装 Unity MCP 服务器包
- 打开 Unity 包管理器(窗口 > 包管理器)
- 点击左上角的“+”按钮
- 选择“从 git URL 添加包...”
- 输入:
https://github.com/CoderGamester/mcp-unity.git
- 点击“添加”
第 2 步:安装 Node.js
要运行 MCP Unity 服务器,您需要在计算机上安装 Node.js 18 或更高版本:
- 访问Node.js 下载页面
- 下载 LTS 版本的 Windows 安装程序 (.msi)(推荐)
- 运行安装程序并按照安装向导进行操作
- 通过打开 PowerShell 并运行以下命令来验证安装:Copy
- 访问Node.js 下载页面
- 下载 LTS 版本的 macOS 安装程序 (.pkg)(推荐)
- 运行安装程序并按照安装向导进行操作
- 或者,如果您安装了 Homebrew,您可以运行:Copy
- 打开终端并运行以下命令来验证安装:Copy
步骤3:配置AI LLM客户端
- 打开 Unity 编辑器
- 导航至“工具”>“MCP Unity”>“服务器窗口”
- 单击您的 AI LLM 客户端的“配置”按钮,如下图所示
- 使用给定的弹出窗口确认配置安装
要通过Smithery安装 MCP Unity:
打开你的AI客户端的MCP配置文件(例如Claude Desktop中的claude_desktop_config.json)并复制以下文本:
将
ABSOLUTE/PATH/TO
替换为 MCP Unity 安装的绝对路径,或者直接从 Unity Editor MCP Server 窗口(工具 > MCP Unity > 服务器窗口)复制文本。
启动 Unity 编辑器 MCP 服务器
- 打开 Unity 编辑器
- 导航至“工具”>“MCP Unity”>“服务器窗口”
- 点击“启动服务器”启动WebSocket服务器
- 打开 Claude Desktop 或您的 AI 编码 IDE(例如 Cursor IDE、Windsurf IDE 等)并开始执行 Unity 工具
当AI客户端连接到WebSocket服务器时,会自动在窗口中显示绿色框
可选:设置 WebSocket 端口
默认情况下,WebSocket 服务器在端口 8090 上运行。您可以通过两种方式更改此端口:
- 打开 Unity 编辑器
- 导航至“工具”>“MCP Unity”>“服务器窗口”
- 将“WebSocket 端口”值更改为所需的端口号
- Unity 将设置系统环境变量 UNITY_PORT 为新的端口号
- 重启 Node.js 服务器
- 再次单击“启动服务器”将 Unity 编辑器 Web 套接字重新连接到 Node.js MCP 服务器
- 在终端中设置 UNITY_PORT 环境变量
- Powershell GXP7
- 命令提示符/终端 GXP8
- 重启 Node.js 服务器
- 再次单击“启动服务器”将 Unity 编辑器 Web 套接字重新连接到 Node.js MCP 服务器
调试服务器
MCP Unity 服务器使用 Node.js 构建。它需要在build
目录中将 TypeScript 代码编译为 JavaScript。要构建服务器,请打开终端并执行以下操作:
- 导航到服务器目录:Copy
- 安装依赖项:Copy
- 构建服务器:Copy
- 运行服务器:Copy
使用@modelcontextprotocol/inspector调试服务器:
- Powershell
- 命令提示符/终端
在关闭终端或使用MCP Inspector进行调试之前,请不要忘记使用Ctrl + C
关闭服务器。
- 在您的终端或 log.txt 文件中启用日志记录:
- Powershell GXP15
- 命令提示符/终端 GXP16
故障排除
- 确保 WebSocket 服务器正在运行(检查 Unity 中的服务器窗口)
- 检查是否有任何防火墙限制阻止连接
- 确保端口号正确(默认为8080)
- 在 Unity 编辑器 MCP 服务器窗口中更改端口号。(“工具”>“MCP Unity”>“服务器窗口”)
- 检查 Unity 控制台中的错误消息
- 确保 Node.js 已正确安装并可在 PATH 中访问
- 验证所有依赖项是否都安装在服务器目录中
- 确保菜单项路径正确(区分大小写)
- 检查菜单项是否需要确认
- 验证菜单项在当前上下文中是否可用
支持与反馈
如果您有任何疑问或需要支持,请在此存储库上打开一个问题。
您还可以通过以下方式联系我们:
- 领英:
- Discord:gamester7178
- 邮箱: game.gamester@gmail.com
贡献
欢迎贡献代码!欢迎提交 Pull 请求或创建 Issue 来表达你的请求。
按照常规提交格式提交您的更改。
执照
该项目采用MIT 许可证
致谢
You must be authenticated.
MCP Unity Server 将 Unity Editor 游戏引擎与不同的 AI 模型客户端(例如 Claude Desktop、Windsurf、Cursor)集成
- Features
- Requirements
- <a name="install-server"></a>Installation
- <a name="start-server"></a>Start Unity Editor MCP Server
- Optional: Set WebSocket Port
- <a name="debug-server"></a>Debugging the Server
- Troubleshooting
- Support & Feedback
- Contributing
- License
- Acknowledgements