
UnityMCP

2025.03.19
418
C#Unity 插件AI 集成编辑器自动化开发效率
UnityMCP 是一个强大的 Unity 编辑器插件,实现了模型上下文协议(MCP),能够在 Unity 和 AI 助手之间实现无缝集成。它提供实时编辑器状态监控、远程命令执行和全面的日志记录功能。
View on GitHub
Overview
基本能力
产品定位
UnityMCP 是一个 Unity 编辑器插件,旨在通过 MCP 协议实现 Unity 编辑器与 AI 助手之间的高效交互,提升开发效率。
核心功能
- 实时编辑器状态监控:
- 获取当前 Unity 编辑器状态
- 包括活动 GameObject、选择状态、播放模式状态等
-
提供场景层次结构和项目结构
-
远程命令执行:
- 直接在 Unity 编辑器中执行 C# 代码
- 完全访问 UnityEngine 和 UnityEditor API
-
实时执行和全面的错误处理
-
日志记录系统:
- 检索和过滤 Unity 编辑器日志
- 支持按类型、内容和时间戳过滤
- 可定制的输出字段
适用场景
- 通过 AI 助手自动化 Unity 编辑器操作
- 远程监控和调试 Unity 项目
- 自动化测试和构建流程
工具列表
get_editor_state
:- 获取当前 Unity 编辑器状态
-
支持不同输出格式(原始、仅脚本、无脚本)
-
execute_editor_command
: - 在 Unity 编辑器中执行 C# 代码
-
提供全面的错误处理和超时保护
-
get_logs
: - 检索和过滤 Unity 编辑器日志
- 支持缓冲管理以优化性能
常见问题解答
- 连接问题:
- 确保服务器正在运行且端口 8080 可用
-
检查 Unity 编辑器中的连接状态
-
命令执行失败:
- 检查代码语法和 API 使用是否正确
-
确保命令在正确的编辑模式下执行
-
性能问题:
- 限制频繁的状态更新请求
- 使用日志过滤减少数据传输
使用教程
使用依赖
- Unity 2022.3 或更高版本
- Node.js 18 或更高版本
- npm 9 或更高版本
安装教程
Unity 插件设置
- 将
UnityMCPPlugin
文件夹复制到 Unity 项目的 Assets 目录 - 打开 Unity 编辑器
- 通过顶部菜单栏访问插件:UnityMCP > Debug Window
MCP 服务器设置
cd unity-mcp-server
npm install
npm run build
调试方式
启动服务器
cd unity-mcp-server
node build/index.js
从 Unity 连接
- 打开 Unity 项目
- 打开 UnityMCP 调试窗口(Window > UnityMCP > Debug Window)
- 插件将自动尝试连接 MCP 服务器
- 在调试窗口中监控连接状态和日志
示例命令
// 居中选中的对象
Selection.activeGameObject.transform.position = Vector3.zero;
// 切换播放模式
EditorApplication.isPlaying = !EditorApplication.isPlaying;
// 创建一个新立方体
GameObject.CreatePrimitive(PrimitiveType.Cube);