返回 MCP 目录
public公开dns本地运行

Unity-MCP

Unity-MCP是一个连接大型语言模型(LLM)与Unity编辑器的桥梁工具,通过暴露Unity编辑器功能给AI客户端,实现AI驱动的自动化开发流程。它支持自定义工具扩展,目前提供游戏对象管理、场景操作、资产处理等核心功能,主要适用于Unity编辑器环境。

article

README

🚀 Unity MCP 插件更新日志

本插件专注于优化 Unity 项目与 MCP 服务器之间的交互体验,本次更新带来了一系列功能增强与优化,同时也列出了已知问题和解决方向。

🚀 快速开始

下载插件

使用步骤

  1. 项目路径要求
    • 确保 Unity 项目的路径中不包含空格,例如:
    C:/MyProjects/Project
    
    而不是:
    C:/My Projects/Project
    
  2. 打开 Unity 项目后,进入菜单栏的 Window -> AI Connector (Unity-MCP)插件界面
  3. 安装 MCP 客户端
  4. 在 MCP 客户端中登录您的账户。
  5. 点击 Configure 进行插件配置。 配置界面
  6. 重启 MCP 客户端。
  7. 确保 AI Connector 状态为 "Connected" 或 "Connecting..."。
  8. 在您的 MCP 客户端中测试插件功能,例如:
    • 使用默认工具分析场景
    • 验证自定义工具的调用

✨ 主要特性

  • 通信协议更新:更新了 MCP 服务器与客户端之间的通信协议。
  • 自定义工具支持:增加了对自定义工具的支持。
  • 错误提示优化:提供了更多详细的错误提示和调试信息。
  • 性能优化:优化了性能,特别是在处理大规模场景时的表现。

⚠️ 已知问题

  1. 自定义工具支持受限:由于 csharp-sdk 中存在一些未解决的问题,目前无法完全支持自定义工具的开发。请关注以下两个问题:
  2. 多线程处理限制:某些工具可能需要在主线程外运行,但目前插件默认强制使用主线程以确保与 Unity API 的兼容性。

🛠️ 自定义工具开发指南

工具类创建

  1. 创建一个继承自 MCP_Tool 的新类。
  2. 在该类上添加 [McpTool] 属性,并指定工具名称和描述。
[McpTool("CustomTool", "这是一个自定义工具")]
public class CustomTool : MCP_Tool
{
    // 工具逻辑实现
}

方法定义

  1. 使用 [McpCommand] 属性标记可执行命令。
  2. 在方法上添加参数描述,例如:
[McpCommand("ProcessScene", "处理当前场景")]
public void ProcessScene([McpParam("filePath", "输入文件路径")] string filePath)
{
    // 处理逻辑
}

参数描述

  • 使用 [McpParam] 属性为参数添加描述信息,例如:
[McpParam("radius", "处理半径")]
float radius = 1.0f;

🤝 贡献指南

  1. Fork Unity-MCP 仓库
  2. 提交 Pull Request 前,请确保代码通过所有测试用例。
  3. 在 Issues 中报告问题或提出改进建议。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端