Unity Code MCP 是一个专注于编码的模型上下文协议(MCP)服务器,它能让 AI 代理自主编写 Unity 代码。
Unity Code MCP 是一款高性能、专注于编码的 MCP 服务器,用 Rust 构建而成。它能优雅地处理 Unity 的编译周期,同时仅提供自主代码开发所需的基本工具:编译反馈和测试执行。
此 MCP 服务器能让 AI 代理以卓越的速度和可靠性自主开发 Unity 代码 —— 编写代码、编译、修复编译错误、测试、修复 bug,不断重复,就像人类开发一样。
在你的 Unity 项目中安装 Visual Studio Code Editor 包。
选项 A:下载发行版(推荐)(仅适用于 Windows)
选项 B:从源代码构建
cargo build --release
将 MCP 服务器添加到你的 AI 助手配置中:
对于 Cursor/Trae:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity-code-mcp",
"env": {
"UNITY_PROJECT_PATH": "${workspaceFolder}"
}
}
}
}
对于带有 MCP 扩展的 VS Code:
{
"mcp.servers": {
"unity-code": {
"command": "/path/to/unity_code_mcp",
"env": {
"UNITY_PROJECT_PATH": "${workspaceFolder}"
}
}
}
}
对于 Claude Desktop:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity_code_mcp"
}
}
}
⚠️ 重要提示
UNITY_PROJECT_PATH环境变量是一个备用选项。如果你的 IDE 支持 MCProots功能,服务器将自动从提供的工作区根目录检测 Unity 项目,并优先使用该信息而非环境变量。
💡 使用建议
如果
${workspaceFolder}在你的 IDE 中不起作用,尝试使用绝对路径,例如"UNITY_PROJECT_PATH": "/absolute/path/to/your/unity/project"。或者,要求你的 IDE 开发者添加对 MCProots功能的支持。
⚠️ 重要提示
二进制命令请使用绝对路径。
配置完成后,AI 代理可以完全自主地开发 Unity 代码:
用户:“创建一个玩家控制器,使用 WASD 键移动并具备跳跃功能。确保它经过充分测试。”
AI:我将创建一个具备移动和跳跃功能的完整玩家控制器,然后编写全面的测试。
1. [AI 编写带有移动逻辑的 PlayerController.cs]
2. [AI 调用:refresh_asset_database]
→ 结果:“编译失败:CS0246:找不到类型或命名空间名称 'Rigidbody'”
3. [AI 修复缺失的 using UnityEngine; 语句]
4. [AI 调用:refresh_asset_database]
→ 结果:“编译成功,无错误”
5. [AI 编写带有移动和跳跃测试的 PlayerControllerTests.cs]
6. [AI 调用:run_tests]
→ 结果:“5 个测试通过,2 个测试失败:Jump_ShouldApplyUpwardForce 中出现 NullReferenceException,Move_WithInvalidInput 中出现 ArgumentException”
7. [AI 分析失败原因并修复空引用和输入验证错误]
8. [AI 调用:refresh_asset_database]
→ 结果:“编译成功,无错误”
9. [AI 调用:run_tests]
→ 结果:“所有 7 个测试均成功通过”
AI:✅ 完成!创建了一个具备 WASD 移动、跳跃机制的完整玩家控制器,并进行了全面测试。所有测试均通过。
这展示了真正的自主开发 —— 从用户请求到经过充分测试、可正常运行的 Unity 代码,无需任何人工干预。
AI 代理自主修复 Unity 项目编译错误示例:
Unity Code MCP 为自主代码开发提供了 2 种工具:
资产数据库刷新工具运行示例:
测试执行工具运行示例:
代码是跨平台的,但由于我仅使用 Windows,无法为其他平台进行构建或测试。如果存在特定平台的 bug,你需要自行修复。
要运行测试套件:
启动 Unity 编辑器 并加载嵌入式测试项目:
# 打开 Unity 编辑器并加载项目:
# ./UnityProject
运行测试(单线程运行以避免与 Unity 冲突):
cargo test -- --test-threads=1
⚠️ 重要提示
测试需要一个运行中的 Unity 编辑器实例,并加载嵌入式项目。由于与 Unity 编辑器的交互,测试可能需要 30 - 60 秒才能完成。
aws-lc-rs 依赖项所需。
xcode-select --install)sudo apt-get install build-essential)aws-lc-rs 依赖项所需。
brew install cmakesudo apt-get install cmake(Ubuntu/Debian)# 调试构建
cargo build
# 发行版构建(推荐用于生产环境)
cargo build --release
欢迎贡献代码!请按以下步骤操作:
cargo test -- --test-threads=1 运行测试。本项目采用 MIT 许可证 —— 详情请参阅 LICENSE 文件。