mcpField
U
Unity Code

Unity Code

本地服务
github.com/hackerzhuli开发工具1134 周前更新

关于 Unity Code

Unity Code MCP 是面向编码 Agent 的 MCP 服务,可在 Unity Editor 中触发编译并运行测试。它聚焦于编译反馈和测试执行,支持自主迭代 Unity 代码。

主要功能

  1. 01刷新资源数据库并编译
  2. 02查看编译错误和日志
  3. 03运行 EditMode 与 PlayMode 测试
  4. 04获取失败堆栈与报告
  5. 05Rust 构建的单一二进制文件

适用场景

  1. 01验证 Unity 代码能否编译
  2. 02依据编译错误修复代码
  3. 03运行编辑模式和播放模式测试

MCP 相关

该 MCP 服务向 AI Agent 提供资源数据库刷新和测试执行工具,以便在 Unity Editor 中编译项目并运行测试。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Unity Code MCP

描述

Unity Code MCP 是一款专注于编码的模型上下文协议(MCP)服务,可让 AI Agent 自主编写 Unity 代码。

🎯 为什么选择 Unity Code MCP?

Unity Code MCP 是一款使用 Rust 构建的高性能、专注于编码的 MCP 服务。它能够妥善处理 Unity 的编译周期,同时仅提供自主代码开发所需的基本工具:编译反馈和测试执行。

这款 MCP 服务使 AI Agent 能够以出色的速度和可靠性自主开发 Unity 代码——编写代码、编译、修复编译错误、测试、修复 Bug,然后重复这一过程,就像人类开发者一样。

✨ 主要功能

  • 🤖 针对编码优化:精简的工具,专为高效的 AI Agent 编码工作流设计
  • ⚡ 轻量且高性能:使用 Rust 构建,速度出色、内存占用极低,响应迅速。工作区不是 Unity 项目时仅使用 1MB 内存;工作区是 Unity 项目且 Unity Editor 已打开该项目时仅使用 10MB。此外,与 Unity Editor 的通信基于 UDP,因此对系统的负载极低。
  • 🎯 高效通信:仅使用少量令牌执行基本操作,只返回相关信息
  • 🧪 测试驱动:具备全面的测试执行与报告功能
  • 📦 独立运行:单个二进制文件,无需运行时依赖(无需 Node.js、Python 或 .NET)

🛠️ MCP 服务工具

Unity Code MCP 提供 2 个用于自主代码开发的工具:

1. 资源数据库刷新
  • 触发 Unity 编译和资源处理
  • 仅返回刷新期间的编译错误及其他非编译警告和错误日志
  • 妥善处理域重载

资源数据库刷新工具的运行效果:

资源数据库刷新

2. 测试执行
  • 运行 Unity 测试并提供全面的报告
  • 为失败的测试提供详细的堆栈跟踪和日志
  • 支持 EditMode 和 PlayMode 测试

测试执行工具的运行效果:

测试执行

🚀 自主 AI Agent 工作流示例

完成配置后,AI Agent 可以完全自主地开发 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 Agent 实际运行效果:不提供任何上下文,让 Kimi K2 修复 Unity 项目中的编译错误: Kimi K2 修复编译错误

📦 安装

前置条件
  • Unity 6.0 或更高版本
  • Rust 工具链(用于从源代码构建)
  • CMake 和 C 编译器(构建依赖项所需)
步骤 1:安装 Unity 软件包

在 Unity 项目中安装 Visual Studio Code Editor 软件包。

重要:必须启用 Visual Studio Code Editor 软件包(也就是说,必须选择由 Visual Studio Code Editor 提供的外部脚本编辑器才能启用该软件包),unity_code_mcp 才能正常工作。在 Unity 中前往 Preferences → External Tools → External Script Editor 进行确认;此处应显示类似“Visual Studio Code Editor v1.0.12 enabled”的内容。

步骤 2:获取二进制文件

选项 A:下载发行版本(推荐)(仅限 Windows)

  • 从 Releases 页面下载最新的二进制文件

选项 B:从源代码构建

cargo build --release
步骤 3:配置 AI 助手

将 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 支持 MCP roots 能力,服务将自动从提供的工作区根目录中检测 Unity 项目,并优先使用该能力,而非环境变量。

故障排除:如果 ${workspaceFolder} 在 IDE 中不起作用,请尝试改用绝对路径,例如 "UNITY_PROJECT_PATH": "/absolute/path/to/your/unity/project"。或者,请 IDE 开发者添加对 MCP roots 能力的支持。

重要:二进制命令请使用绝对路径。

平台支持

代码是跨平台的,但我只使用 Windows,无法为其他平台构建或测试。如果存在特定于平台的错误,需要自行修复。

🧪 开发与测试

运行测试

运行测试套件:

  1. 启动 Unity Editor,并打开嵌入式测试项目:

    # Open Unity Editor and load the project at:
    # ./UnityProject
    
  2. 运行测试(使用单线程以避免 Unity 冲突):

    cargo test -- --test-threads=1
    

注意:测试需要运行中的 Unity Editor 实例,并且已加载嵌入式项目。由于需要与 Unity Editor 交互,测试可能需要 30–60 秒才能完成。

从源代码构建
前置条件
  • C 编译器:构建 aws-lc-rs 依赖项所必需
    • Windows:MSVC(Visual Studio Build Tools)
    • macOS:Xcode Command Line Tools(xcode-select --install)
    • Linux:GCC(在 Ubuntu/Debian 上运行 sudo apt-get install build-essential)
  • 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

🤝 参与贡献

欢迎贡献!请:

  1. Fork 此仓库
  2. 创建功能分支
  3. 使用 cargo test -- --test-threads=1 运行测试
  4. 提交拉取请求

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

🔗 相关项目

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。