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 协议进行实时双向通信,确保数据传输的效率和即时性。
安装步骤
-
环境准备:
- 确保已安装 Unity 2022.3 或更高版本。
- 确保已安装 Node.js 18 或更高版本 和 npm 9 或更高版本。
-
Unity 插件安装:
- 下载或克隆仓库 https://github.com/Arodoid/UnityMCP。
- 将仓库中的 'UnityMCPPlugin' 文件夹复制到你的 Unity 项目的 'Assets' 目录下。
- 在 Unity 编辑器中,通过菜单 'Window > UnityMCP > Debug Window' 打开 UnityMCP 调试窗口。
-
MCP 服务器安装:
- 打开终端,导航到仓库中的 'unity-mcp-server' 目录:
cd unity-mcp-server - 安装服务器依赖:
npm install - 构建服务器代码:
npm run build
- 打开终端,导航到仓库中的 'unity-mcp-server' 目录:
服务器配置
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' 中的路径。
基本使用方法
-
启动 MCP 服务器:
- 打开终端,导航到 'unity-mcp-server' 目录。
- 运行以下命令启动服务器:
node build/index.js - 服务器成功启动后,终端会显示 'Unity MCP server running on stdio' 和 '[Unity MCP] WebSocket server is ready on port 8080' 等信息。
-
连接 Unity 编辑器:
- 打开你的 Unity 项目。
- 确保已安装 UnityMCP 插件 ('UnityMCPPlugin' 文件夹在 'Assets' 目录下)。
- 打开 UnityMCP 调试窗口 ('Window > UnityMCP > Debug Window')。
- 插件会自动尝试连接到运行在 'ws://localhost:8080' 的 MCP 服务器。
- 在 UnityMCP 调试窗口中,可以查看连接状态和日志信息,确认连接是否成功。
-
使用 MCP 客户端:
- 配置 MCP 客户端,使用上述 服务器配置 JSON 信息连接到 UnityMCP 服务器。
- 通过 MCP 客户端,可以调用 UnityMCP 服务器提供的工具,例如:
- 使用 'get_editor_state' 工具获取 Unity 编辑器的当前状态。
- 使用 'execute_editor_command' 工具在 Unity 编辑器中执行 C# 代码,例如控制场景对象、切换播放模式等。
- 使用 'get_logs' 工具检索 Unity 编辑器的日志信息。
通过以上步骤,你就可以使用 UnityMCP 将 Unity 编辑器的功能集成到你的 AI 助手或其他 MCP 客户端应用中,实现更高效、智能化的 Unity 开发体验。
信息
分类
开发者工具