UnityMCPIntegration

UnityMCPIntegration

🚀 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 插件

  1. 在 Unity 中打开项目
  2. 修改 UnityMCPConnection/Editor 目录下的 C# 脚本

MCP 服务器端

  1. 切换到 mcpServer 目录
  2. 安装依赖: npm install
  3. 编译服务器: npm run build
  4. 运行服务器: 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 调试窗口以监控连接状态和测试功能:

  1. 进入 Window > MCP Debug
  2. 在调试窗口中:
    • 检查连接状态
    • 测试代码执行
    • 查看日志
    • 监控事件

🎯 可用工具

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 功能无缝集成到游戏开发工作流程中,提升开发效率并扩展可能性。

  • 0 关注
  • 0 收藏,33 浏览
  • system 提出于 2025-10-06 21:30

相似服务问题

相关AI产品