使用说明
项目简介
Unity-MCP 是一个基于 Node.js 开发的 MCP 服务器,它充当 Unity 游戏引擎和 AI 助手之间的桥梁,允许 AI 通过标准化的 MCP 协议与 Unity 环境进行交互。该项目旨在简化 AI 在游戏开发流程中的集成,实现诸如 AI 辅助内容生成、自动化测试、场景分析和运行时调试等功能。
主要功能点
- 代码执行: 允许 AI 助手在 Unity 运行时环境中执行 C# 代码,实现动态逻辑控制和功能扩展。
- 对象和组件检查: 提供工具供 AI 助手检查 Unity 游戏对象及其组件的属性和状态,用于场景理解和分析。
- 场景结构分析: 支持 AI 助手分析 Unity 场景的层级结构,帮助理解游戏世界的组织方式。
- 自动化测试: 能够运行预设的测试用例并返回结果,支持游戏功能的自动化验证。
- 方法调用: 允许 AI 助手调用游戏对象和组件上的方法,实现更深度的交互和控制。
- 运行时状态修改: 支持 AI 助手在游戏运行时修改游戏状态,为动态调整和实验提供可能。
- 服务器自发现: 支持服务发现功能,方便 MCP 客户端自动找到并连接到 Unity MCP服务器。
- SSE支持: 实现了 Server-Sent Events (SSE) 协议支持,用于服务器向客户端推送实时事件和更新。
安装步骤
- 克隆仓库
git clone https://github.com/TSavo/Unity-MCP.git cd Unity-MCP - 安装依赖
确保你的系统已安装 Node.js 和 npm。在项目根目录下运行:
npm install - 构建项目
npm run build - 启动服务器
服务器默认在 8080 端口启动。你可以通过修改 'src/server.ts' 文件中的 'port' 配置项来更改端口。npm start
服务器配置
MCP 客户端需要配置以下信息以连接到 Unity MCP 服务器。以下是一个 'serverConfig.json' 示例,展示了客户端需要配置的服务器连接信息:
{ "servers": [ { "server name": "Unity-MCP-Server", // 自定义服务器名称,用于在客户端标识 "command": "node", // 启动服务器的命令,这里使用 node 解释器 "args": [ // 启动命令的参数 "dist/server.js", // 指向编译后的服务器入口文件 "--port", "8080" // 可选参数,指定服务器端口,如果服务器代码中已固定端口,则不需要此参数 ] } ] }
配置说明:
- 'server name': 服务器的名称,客户端用于识别和管理不同的 MCP 服务器连接。可以自定义设置。
- 'command': 启动 MCP 服务器的命令。由于 Unity-MCP 是 Node.js 项目,所以这里使用 'node' 命令来运行 JavaScript 文件。
- 'args': 启动命令的参数列表。
- '"dist/server.js"': 指向编译后的服务器入口文件 'dist/server.js'。这是服务器实际运行的代码。
- '"--port", "8080"': (可选)指定服务器监听的端口号。如果服务器代码中已经配置了默认端口或者通过其他方式配置端口,则可以省略此参数。如果需要客户端指定端口,则可以通过此参数传递。请确保此端口与服务器实际监听的端口一致。
注意: MCP 客户端需要能够执行 'node dist/server.js --port 8080' 命令来启动 Unity MCP 服务器。 客户端如何读取和使用 'serverConfig.json' 文件取决于具体的 MCP 客户端实现。
基本使用方法
- 确保 Unity-MCP 服务器已成功启动并运行在指定的端口上。
- 配置 MCP 客户端,使其能够连接到运行 Unity-MCP 服务器的主机和端口。
- 使用 MCP 客户端发送 MCP 请求到服务器,例如:
- 获取服务器 'manifest' 信息,了解服务器提供的工具和功能。
- 调用 'tools' 接口执行预定义的工具,例如执行 C# 代码、查询 Unity 对象信息等。
- 通过 'results' 接口获取工具执行的结果。
- 订阅 'sse' 事件流,接收服务器推送的实时更新和通知。
- 根据服务器返回的响应和数据,在 AI 助手或 MCP 客户端中进行后续处理,例如解析工具执行结果、根据场景信息生成控制指令等。
详细API文档和更多使用示例,请参考仓库文档 'docs' 目录下的相关文件。
信息
分类
开发者工具