Back to MCP directory
publicPublicdnsLocal runtime

UnityMCPIntegration

该项目提供了Unity编辑器与Model Context Protocol (MCP)的无缝集成,使AI助手能够实时理解和操作Unity项目,包括访问场景层次结构、执行代码、监控日志等功能。

article

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

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

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client