Unity AI 控制工具

MCP for Unity 是一个桥梁工具,允许AI助手(如Claude、Cursor)通过本地MCP客户端直接与Unity编辑器交互,实现资产、场景、脚本的管理和任务自动化。

  • by roustammm
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 roustammm/unity-mcp

使用说明

英语 简体中文

自豪地赞助和维护 科普利 --Unity的最佳AI助手。

使用LLM创建Unity应用程序!

MCP for Unity充当桥梁,允许AI助手(如Claude、Cursor)通过本地编辑器直接与Unity编辑器交互 MCP(模型上下文协议)客户端给你的LLM工具来管理Unity中的资产、控制场景、编辑脚本和自动化任务。


💬 加入我们 Discord 的中文翻译是“不和谐”或“纷争”。

为Unity开发人员获取帮助、分享想法并与其他MCP协作!


主要特点🚀

  • 🗣️ 自然语言控制: 指导你的法学硕士执行Unity任务。
  • 🛠️ 强大的工具: 管理资源、场景、材质、脚本和编辑器功能。
  • 🤖 自动化: 自动化重复的Unity工作流程。
  • 🧩 可扩展: 设计用于与各种MCP客户端配合使用。
Tools

您的LLM可以使用以下函数:

  • execute_menu_item:执行Unity编辑器菜单项(例如“文件/保存项目”)。
  • manage_asset:执行资产操作(导入、创建、修改、删除等)。
  • manage_editor:控制和查询编辑器的状态和设置。
  • manage_gameobject:管理游戏对象:创建、修改、删除、查找和组件操作。
  • manage_prefabs:执行预制操作(创建、修改、删除等)。
  • manage_scene:管理场景(加载、保存、创建、获取层次结构等)。
  • manage_script:用于旧脚本操作(创建、读取、删除)的兼容性路由器。更喜欢 apply_text_edits 或 script_apply_edits 用于编辑。
  • manage_shader:执行着色器CRUD操作(创建、读取、修改、删除)。
  • read_console:从控制台获取消息或清除控制台。
  • run_tests:在Unity编辑器中运行测试。
  • set_active_instance:将后续工具调用路由到特定的Unity实例(当多个正在运行时)。
  • apply_text_edits:使用前置条件哈希和原子多编辑批次进行精确的文本编辑。
  • script_apply_edits:具有更安全边界的结构化C#方法/类编辑(插入/替换/删除)。
  • validate_script:快速验证(基本/标准),以捕捉写入前后的语法/结构问题。
  • create_script:在给定的项目路径上创建一个新的C#脚本。
  • delete_script:按URI或资产相对路径删除C#脚本。
  • get_sha:获取Unity C#脚本的SHA256和基本元数据,而不返回文件内容。
Resources

您的法学硕士可以检索以下资源:

  • unity_instances:列出所有正在运行的Unity Editor实例及其详细信息(名称、路径、端口、状态)。
  • menu_items:检索Unity编辑器中的所有可用菜单项。
  • tests:检索Unity编辑器中的所有可用测试。可以选择特定类型的测试(例如,“编辑模式”、“播放模式”)。
  • editor_active_tool:当前活动的编辑器工具(移动、旋转、缩放等)和变换控制柄设置。
  • editor_prefab_stage:如果预制件以隔离模式打开,则显示当前预制件编辑上下文。
  • editor_selection:编辑器中当前选定对象的详细信息。
  • editor_state:当前编辑器运行时状态,包括播放模式、编译状态、活动场景和选择摘要。
  • editor_windows:当前打开的所有编辑器窗口及其标题、类型、位置和焦点状态。
  • project_info:静态项目信息,包括根路径、Unity版本和平台。
  • project_layers:项目的TagManager中定义的所有图层及其索引(0-31)。
  • project_tags:项目的TagManager中定义的所有标记。
---

运作原理

MCP for Unity使用两个组件连接您的工具:

  1. Unity Bridge的MCP: 编辑器内运行的Unity包。(通过软件包管理器安装)。
  2. Unity服务器的MCP: 本地运行的Python服务器,在Unity Bridge和MCP客户端之间进行通信。(首次运行时由软件包自动安装或通过自动设置安装;手动设置可作为回退)。