UnityMCP

UnityMCP

site icon
2025.03.19 418
C#Unity 插件AI 集成编辑器自动化开发效率
UnityMCP 是一个强大的 Unity 编辑器插件,实现了模型上下文协议(MCP),能够在 Unity 和 AI 助手之间实现无缝集成。它提供实时编辑器状态监控、远程命令执行和全面的日志记录功能。
View on GitHub

Overview

基本能力

产品定位

UnityMCP 是一个 Unity 编辑器插件,旨在通过 MCP 协议实现 Unity 编辑器与 AI 助手之间的高效交互,提升开发效率。

核心功能

  1. 实时编辑器状态监控
  2. 获取当前 Unity 编辑器状态
  3. 包括活动 GameObject、选择状态、播放模式状态等
  4. 提供场景层次结构和项目结构

  5. 远程命令执行

  6. 直接在 Unity 编辑器中执行 C# 代码
  7. 完全访问 UnityEngine 和 UnityEditor API
  8. 实时执行和全面的错误处理

  9. 日志记录系统

  10. 检索和过滤 Unity 编辑器日志
  11. 支持按类型、内容和时间戳过滤
  12. 可定制的输出字段

适用场景

  1. 通过 AI 助手自动化 Unity 编辑器操作
  2. 远程监控和调试 Unity 项目
  3. 自动化测试和构建流程

工具列表

  1. get_editor_state
  2. 获取当前 Unity 编辑器状态
  3. 支持不同输出格式(原始、仅脚本、无脚本)

  4. execute_editor_command

  5. 在 Unity 编辑器中执行 C# 代码
  6. 提供全面的错误处理和超时保护

  7. get_logs

  8. 检索和过滤 Unity 编辑器日志
  9. 支持缓冲管理以优化性能

常见问题解答

  1. 连接问题
  2. 确保服务器正在运行且端口 8080 可用
  3. 检查 Unity 编辑器中的连接状态

  4. 命令执行失败

  5. 检查代码语法和 API 使用是否正确
  6. 确保命令在正确的编辑模式下执行

  7. 性能问题

  8. 限制频繁的状态更新请求
  9. 使用日志过滤减少数据传输

使用教程

使用依赖

  • Unity 2022.3 或更高版本
  • Node.js 18 或更高版本
  • npm 9 或更高版本

安装教程

Unity 插件设置

  1. UnityMCPPlugin 文件夹复制到 Unity 项目的 Assets 目录
  2. 打开 Unity 编辑器
  3. 通过顶部菜单栏访问插件:UnityMCP > Debug Window

MCP 服务器设置

cd unity-mcp-server
npm install
npm run build

调试方式

启动服务器

cd unity-mcp-server
node build/index.js

从 Unity 连接

  1. 打开 Unity 项目
  2. 打开 UnityMCP 调试窗口(Window > UnityMCP > Debug Window)
  3. 插件将自动尝试连接 MCP 服务器
  4. 在调试窗口中监控连接状态和日志

示例命令

// 居中选中的对象
Selection.activeGameObject.transform.position = Vector3.zero;

// 切换播放模式
EditorApplication.isPlaying = !EditorApplication.isPlaying;

// 创建一个新立方体
GameObject.CreatePrimitive(PrimitiveType.Cube);

许可证

该项目遵循 Other 开源许可条款,请参阅 Other 了解完整条款。