统一代码MCP
描述
Unity Code MCP是一个以编码为中心的模型上下文协议(MCP)服务器,它使AI代理能够自主编写Unity代码。
🎯 为什么选择Unity Code MCP?
Unity Code MCP是一个基于Rust构建的高性能、以编码为中心的MCP服务器。它优雅地处理Unity的编译周期,同时只提供自主代码开发所需的基本工具:编译反馈和测试执行。
此MCP服务器使AI代理能够以极高的速度和可靠性自主开发Unity代码——编写代码、编译、修复编译错误、测试、修复错误、重复,就像人类一样。
✨ 主要特点
- 🤖 编码优化:为高效的AI代理编码工作流程设计的简化工具
- ⚡ 重量轻,性能高:内置Rust,速度极快,内存使用量最小,响应时间极快。当工作区不是Unity项目时,仅使用1MB内存,当工作区是Unity项目并且Unity编辑器为项目打开时,只使用10MB内存。此外,与Unity Editor的通信基于UDP,因此对您的系统来说负载最小。
- 🎯 高效通信:在基本操作中使用最少的令牌,只返回相关信息
- 🧪 测试驱动:全面的测试执行和报告能力
- 📦 独立:没有运行时依赖关系的单个二进制文件(不需要Node.js、Python或.NET)
🛠️ MCP服务器工具
Unity Code MCP为自主代码开发提供了2个工具:
1. 资产数据库刷新
- 触发Unity编译和资产处理
- 返回编译错误和其他非编译警告和错误 仅在刷新期间包含日志
- 优雅地处理域重新加载
正在使用的资产数据库刷新工具:
2. 测试执行
- 运行Unity测试,并提供全面的报告
- 提供详细的堆栈跟踪和故障日志
- 支持编辑模式和播放模式测试
正在使用的测试执行工具:
🚀 自主AI代理工作流示例
配置后,AI代理可以完全自主地开发Unity代码:
User: "Create a player controller that moves with WASD keys and has jump functionality. Make sure it's fully tested."
AI: I'll create a complete player controller with movement and jumping, then write comprehensive tests.
1. [AI writes PlayerController.cs with movement logic]
2. [AI calls: refresh_asset_database]
→ Result: "Compilation failed: CS0246: The type or namespace name 'Rigidbody' could not be found"
3. [AI fixes the missing using UnityEngine; statement]
4. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
5. [AI writes PlayerControllerTests.cs with movement and jump tests]
6. [AI calls: run_tests]
→ Result: "5 tests passed, 2 tests failed: NullReferenceException in Jump_ShouldApplyUpwardForce, ArgumentException in Move_WithInvalidInput"
7. [AI analyzes failures and fixes null reference and input validation bugs]
8. [AI calls: refresh_asset_database]
→ Result: "Compilation successful, no errors"
9. [AI calls: run_tests]
→ Result: "All 7 tests passed successfully"
AI: ✅ Complete! Created a fully functional PlayerController with WASD movement, jump mechanics, and comprehensive test coverage. All tests are passing.这展示了真正的自主开发——从用户请求到经过充分测试的Unity代码,无需任何人为干预。
AI代理正在运行,告诉Kimi K2在没有上下文的情况下修复Unity项目中的编译错误: Kimi K2 fix compile errors
📦 安装
先决条件
- Unity 6.0或更高版本
- Rust工具链(用于从源代码构建)
- CMake和C编译器(构建依赖关系所需)
第一步:安装Unity软件包
安装 Visual Studio代码编辑器 Unity项目中的包。
重要:Visual Studio代码编辑器包必须 启用 (也就是说,您最多选择Visual Studio代码编辑器提供的外部脚本编辑器来启用它),以便unity_Code_mcp工作。在unity中验证这一点Preferences→External Tools→External Script Editor-它应该显示类似“Visual Studio代码编辑器v1.0.12已启用”的内容。
第二步:获取二进制文件
选项A:下载版本 (推荐)(仅限Windows)
- 从发布页面下载最新二进制文件
选项B:从源代码构建
cargo build --release步骤3:配置您的AI助手
将MCP服务器添加到您的AI助手配置中:
对于光标/轨迹:
{
"mcpServers": {
"unity-code": {
"command": "/path/to/unity-code-mcp",
"env": {
"UNITY_PROJECT_PATH": "${workspaceFolder}"
}
}
}
}对于带有MCP扩展的VS代码:
{
"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"
}
}
}备注:TheUNITY_PROJECT_PATH环境变量是一个回退选项。如果您的IDE支持MCProots功能,服务器将自动从提供的工作区根中检测Unity项目,并将其优先于环境变量。
故障排除:如果${workspaceFolder}在IDE中不起作用,请尝试使用绝对路径,例如。,"UNITY_PROJECT_PATH": "/absolute/path/to/your/unity/project"。或者,请您的IDE开发人员添加对MCP的支持roots能力。
重要:为二进制命令使用绝对路径。
平台支持
代码是跨平台的,但我不能构建或测试其他平台,因为我只使用Windows。如果有特定于平台的错误,你必须自己修复它们。
🧪 开发与测试
运行测试
要运行测试套件,请执行以下操作:
- 启动Unity编辑器 对于嵌入式测试项目:
# Open Unity Editor and load the project at:
# ./UnityProject- 运行测试 (单线程以避免Unity冲突):
cargo test -- --test-threads=1备注:测试需要一个加载了嵌入式项目的正在运行的Unity Editor实例。由于Unity编辑器的交互,测试可能需要30-60秒才能完成。
从源头构建
先决条件
- C编译器:建筑所需
aws-lc-rs依赖
- Windows:MSVC(Visual Studio生成工具) - macOS:Xcode命令行工具(xcode-select --install) - Linux:GCC(sudo apt-get install build-essential 在Ubuntu/Debian上)
- CMake:建造所需
aws-lc-rs依赖
- Windows:遵循 官方指南 - macOS: brew install cmake - Linux: sudo apt-get install cmake (Ubuntu/Debian)
构建命令
# Debug build
cargo build
# Release build (recommended for production)
cargo build --release🤝 贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 使用运行测试
cargo test -- --test-threads=1 - 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
- Unity的Visual Studio代码编辑器 -所需Unity软件包
- 模型上下文协议 -协议规范
- Unity Code Pro VS代码扩展 -相关的VS代码扩展
