README
🚀 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" 实际指向 <project>/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() {
// 初始化 MCP 客户端
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 文件。
🔗 链接
- GitHub 仓库:https://github.com/quaza/unitymcpintegration
- 文档网站:https://docs.quaza.com/unity-mcp-integration
通过 Unity MCP 集成,您可以将 AI 功能无缝集成到游戏开发工作流程中,提升开发效率并扩展可能性。
Scan to join WeChat group