使用说明
项目简介
MCP Unity编辑器桥梁(MCP Unity Bridge Asset)是一个Unity编辑器的扩展包,它充当一个WebSocket服务器,允许外部MCP客户端通过Model Context Protocol (MCP) 协议远程控制和自动化Unity编辑器的各项功能。这个桥梁资源主要设计用于与MCP服务器协同工作,特别是 MCP Unity Manager Server。
主要功能点
- WebSocket 通信: 通过WebSocket协议与MCP客户端建立稳定、安全的双向通信连接。
- Unity 编辑器控制: 允许MCP客户端通过发送JSON格式的命令,远程执行Unity编辑器的各种操作,包括:
- 资源管理: 创建、删除、移动、重命名、导入资源和文件夹,获取资源信息,查找资源引用。
- GameObject 操作: 创建、查找、修改、删除GameObject,添加和移除组件。
- 场景管理: 加载、保存、创建新场景。
- 主线程安全: 所有Unity Editor API的调用都在Unity主线程中安全执行,避免多线程问题。
- JSON 协议: 使用结构化的JSON格式进行命令和数据的交换,保证通信的可靠性。
- 可扩展性: 采用模块化架构,方便用户根据需求扩展新的命令处理功能。
- 详细日志: 提供全面的日志记录和调试功能,帮助用户追踪和解决问题。
安装步骤
-
打开你的Unity工程。
-
打开Unity的包管理器 (Window -> Package Manager)。
-
点击包管理器窗口左上角的 “+” 按钮。
-
在下拉菜单中选择 “Add package from git URL...”。
-
在弹出的输入框中粘贴以下Git仓库URL:
https://github.com/bsmi021/mcp-unity-bridge-asset.git -
点击 “Add” 按钮。
Unity将自动下载并安装MCP Unity编辑器桥梁资源包到你的工程中。安装完成后,你可以在Unity编辑器的 “Tools” 菜单下找到 “MCP Bridge” 菜单。
服务器配置
MCP Unity编辑器桥梁自身即作为一个MCP服务器运行在Unity编辑器内部,等待MCP客户端连接。对于MCP客户端,你需要配置连接到此服务器的信息。以下是一个典型的JSON格式配置示例,用于连接到运行在本地Unity编辑器中的MCP Unity Bridge Asset:
{ "serverName": "UnityEditorBridge", "command": "", "args": [], "transport": "websocket", "uri": "ws://127.0.0.1:8765/mcp" }
配置参数说明:
- 'serverName': 自定义的服务器名称,用于在MCP客户端中标识连接。例如 '"UnityEditorBridge"'。
- 'command': 请留空。MCP Unity编辑器桥梁作为Unity编辑器的一部分自动运行,无需通过外部命令启动。
- 'args': 请使用空数组 '[]'。 此桥梁不需要任何命令行启动参数。
- 'transport': 指定传输协议,必须设置为 '"websocket"'。
- 'uri': WebSocket连接的URI地址。默认地址为 '"ws://127.0.0.1:8765/mcp"'。其中 '127.0.0.1' 表示本地主机,'8765' 是默认的WebSocket端口,'/mcp' 是服务路径。注意: 如果需要在Unity编辑器中更改WebSocket端口,请在Unity编辑器菜单中选择 "Tools -> MCP Bridge -> Settings" 进行配置,并相应地更新此处的 'uri' 中的端口号。
重要提示: 由于MCP Unity编辑器桥梁运行在Unity编辑器内部,因此MCP客户端必须能够通过WebSocket连接到运行Unity编辑器的机器。
基本使用方法
- 确保已按照安装步骤将 MCP Unity编辑器桥梁资源导入到你的Unity工程中。
- 在Unity编辑器中,通过 "Tools -> MCP Bridge -> Settings" 菜单可以查看和修改WebSocket服务器的端口等配置。默认情况下,桥梁资源会在Unity编辑器启动时自动启动WebSocket服务器。你可以在Unity的Console窗口中查看启动日志信息。
- 使用任何兼容MCP协议的客户端,根据上述 “服务器配置” 中的信息,配置并连接到Unity编辑器桥梁提供的WebSocket服务地址 ('uri')。
- 客户端连接成功后,即可向服务器发送JSON格式的命令,以控制Unity编辑器执行各种操作。具体的命令格式和参数,请参考仓库的README文档或直接查看代码中的 'CommandHandler.cs' 文件,其中详细定义了支持的命令和参数。
信息
分类
开发者工具