UnityMCP 使用说明

项目简介

UnityMCP 是一个为 Unity 编辑器设计的插件,它实现了 Model Context Protocol (MCP) 协议,使得 AI 助手能够无缝集成并控制 Unity 编辑器。通过 UnityMCP,AI 助手可以获取 Unity 编辑器的实时状态,执行编辑器命令,并检索编辑器日志,从而实现更智能化的 Unity 开发工作流。

主要功能点

  • 实时编辑器状态监控: 持续追踪 Unity 编辑器的状态,包括场景层级、选中对象、播放模式等,并实时同步给 MCP 客户端。
  • 远程命令执行: 允许 MCP 客户端通过 'execute_editor_command' 工具在 Unity 编辑器中执行 C# 代码,实现对编辑器的编程控制。
  • 全面的日志管理: 提供 'get_logs' 工具,允许 MCP 客户端检索和过滤 Unity 编辑器的日志信息,方便调试和问题排查。
  • 标准 MCP 协议: 基于 Model Context Protocol 构建,易于与各种 MCP 客户端集成。
  • WebSocket 通信: 使用 WebSocket 协议进行实时双向通信,确保数据传输的效率和即时性。

安装步骤

  1. 环境准备:

    • 确保已安装 Unity 2022.3 或更高版本
    • 确保已安装 Node.js 18 或更高版本npm 9 或更高版本
  2. Unity 插件安装:

    • 下载或克隆仓库 https://github.com/Arodoid/UnityMCP
    • 将仓库中的 'UnityMCPPlugin' 文件夹复制到你的 Unity 项目的 'Assets' 目录下。
    • 在 Unity 编辑器中,通过菜单 'Window > UnityMCP > Debug Window' 打开 UnityMCP 调试窗口。
  3. MCP 服务器安装:

    • 打开终端,导航到仓库中的 'unity-mcp-server' 目录:
      cd unity-mcp-server
    • 安装服务器依赖:
      npm install
    • 构建服务器代码:
      npm run build

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 UnityMCP 服务器。请根据你的实际环境进行配置。

{
  "serverName": "UnityMCP Server",  // MCP 服务器名称,可自定义
  "command": "node",               // 启动服务器的命令,这里使用 Node.js 运行
  "args": [                        // 启动命令的参数
    "build/index.js"              // 服务器入口文件路径,相对于 unity-mcp-server 目录
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,用于在 MCP 客户端中标识和管理连接。
  • 'command': 启动服务器进程的命令。对于 UnityMCP 服务器,由于它是 Node.js 应用,所以使用 'node' 命令。
  • 'args': 传递给启动命令的参数数组。这里指定了服务器入口文件 'build/index.js' 的路径,确保 Node.js 能够找到并执行服务器代码。

注意:

  • 确保 MCP 客户端能够访问到 'unity-mcp-server' 目录下的 'build/index.js' 文件。如果 MCP 客户端和 UnityMCP 服务器不在同一目录下,请根据实际情况修改 'args' 中的路径。

基本使用方法

  1. 启动 MCP 服务器:

    • 打开终端,导航到 'unity-mcp-server' 目录。
    • 运行以下命令启动服务器:
      node build/index.js
    • 服务器成功启动后,终端会显示 'Unity MCP server running on stdio' 和 '[Unity MCP] WebSocket server is ready on port 8080' 等信息。
  2. 连接 Unity 编辑器:

    • 打开你的 Unity 项目。
    • 确保已安装 UnityMCP 插件 ('UnityMCPPlugin' 文件夹在 'Assets' 目录下)。
    • 打开 UnityMCP 调试窗口 ('Window > UnityMCP > Debug Window')。
    • 插件会自动尝试连接到运行在 'ws://localhost:8080' 的 MCP 服务器。
    • 在 UnityMCP 调试窗口中,可以查看连接状态和日志信息,确认连接是否成功。
  3. 使用 MCP 客户端:

    • 配置 MCP 客户端,使用上述 服务器配置 JSON 信息连接到 UnityMCP 服务器。
    • 通过 MCP 客户端,可以调用 UnityMCP 服务器提供的工具,例如:
      • 使用 'get_editor_state' 工具获取 Unity 编辑器的当前状态。
      • 使用 'execute_editor_command' 工具在 Unity 编辑器中执行 C# 代码,例如控制场景对象、切换播放模式等。
      • 使用 'get_logs' 工具检索 Unity 编辑器的日志信息。

通过以上步骤,你就可以使用 UnityMCP 将 Unity 编辑器的功能集成到你的 AI 助手或其他 MCP 客户端应用中,实现更高效、智能化的 Unity 开发体验。

信息

分类

开发者工具