🚀 Unity MCP 集成
Unity MCP 集成实现了 AI 助手借助 MCP 协议与 Unity 编辑器的交互。它提供了一套完整工具集,让 AI 助手能进行代码操作、管理文件系统以及监控 Unity 项目状态,极大提升开发效率。
🚀 快速开始
初始化 MCP 服务
在项目根目录下运行以下命令:
npx @quaza/unitymcpintegration init
这将创建必要的配置文件和目录结构。
启动 MCP 服务器
运行以下命令启动 MCP 服务:
npm run start
✨ 主要特性
🛠️ Unity 编辑器工具
- get_editor_state:获取关于 Unity 项目和编辑器状态的详细信息
- get_current_scene_info:获取当前场景的详细信息
- get_game_objects_info:获取特定游戏对象的信息
- execute_editor_command:在 Unity 编辑器中直接执行 C# 代码
- get_logs:检索并过滤 Unity 控制台日志
- verify_connection:检查与 Unity 编辑器是否存在有效连接
📁 文件系统工具
- read_file:读取项目中的文件内容
- read_multiple_files:一次性读取多个文件
- write_file:创建或覆盖指定文件
- edit_file:对现有文件进行针对性编辑,带有预览功能
- list_directory:获取目录中的文件和文件夹列表
- directory_tree:获取目录的层次结构视图
- search_files:查找符合特定模式的文件
- get_file_info:获取特定文件或目录的元数据
- find_assets_by_type:根据类型查找所有资源(例如 Material、Prefab)
- list_scripts:获取项目中所有 C# 脚本的列表
文件路径可以是绝对路径,也可以是相对于 Unity 项目 Assets 文件夹的相对路径。例如,"Scenes/MyScene.unity" 实际指向
/Assets/Scenes/MyScene.unity。
🏷️ 环境要求
| 属性 |
详情 |
| 开发环境 |
Unity 编辑器支持 2018.4 及以上版本,Node.js 版本 16.0 或更高 |
📦 安装指南
使用 npm 安装
npm install @quaza/unitymcpintegration
🛠️ 开发环境安装
Unity 插件
- 在 Unity 中打开项目
- 修改
UnityMCPConnection/Editor 目录下的 C# 脚本
MCP 服务器端
- 切换到
mcpServer 目录
- 安装依赖:
npm install
- 编译服务器:
npm run build
- 运行服务器:
node build/index.js
💻 使用示例
基础用法
在 Unity 中使用
using MCPIntegration;
public class MCPExample : MonoBehaviour {
void Start() {
MCPClient.Initialize("localhost", 3000);
EditorState state = MCPClient.GetEditorState();
Debug.Log($"Editor Version: {state.Version}");
}
}
在 Node.js 中使用
const mcpServer = require('@quaza/unitymcpintegration');
mcpServer.initialize('localhost', 3000);
mcpServer.on('fileChanged', (event) => {
console.log(`File changed: ${event.path}`);
});
🛠️ 使用说明
📈 调试与监控
在 Unity 中打开 MCP 调试窗口以监控连接状态和测试功能:
- 进入
Window > MCP Debug
- 在调试窗口中:
🎯 可用工具
Unity 编辑器工具
- get_editor_state:获取关于 Unity 项目和编辑器状态的详细信息
- get_current_scene_info:获取当前场景的详细信息
- get_game_objects_info:获取特定游戏对象的信息
- execute_editor_command:在 Unity 编辑器中直接执行 C# 代码
- get_logs:检索并过滤 Unity 控制台日志
- verify_connection:检查与 Unity 编辑器是否存在有效连接
文件系统工具
- read_file:读取项目中的文件内容
- read_multiple_files:一次性读取多个文件
- write_file:创建或覆盖指定文件
- edit_file:对现有文件进行针对性编辑,带有预览功能
- list_directory:获取目录中的文件和文件夹列表
- directory_tree:获取目录的层次结构视图
- search_files:查找符合特定模式的文件
- get_file_info:获取特定文件或目录的元数据
- find_assets_by_type:根据类型查找所有资源(例如 Material、Prefab)
- list_scripts:获取项目中所有 C# 脚本的列表
📄 许可证
该库采用 MIT 许可证,详情请查阅 LICENSE 文件。
🔗 链接
通过 Unity MCP 集成,您可以将 AI 功能无缝集成到游戏开发工作流程中,提升开发效率并扩展可能性。