mcp-unity

MCP Unity:连接Unity引擎与AI模型的强大MCP服务器,赋能游戏开发。

mcp-unity
mcp-unity能力展示

mcp-unity 解决方案概述

MCP Unity 是一个强大的工具,它将 Unity 游戏引擎与 AI 模型连接起来,充当 AI 助手的桥梁。作为一个 MCP 服务器,它允许 Claude、Windsurf 和 Cursor 等 AI 代理直接与 Unity 项目交互。通过提供对 Unity 编辑器的访问,开发者可以利用 AI 自动执行任务,例如执行菜单命令、选择游戏对象、更新组件以及管理 Unity 包。

MCP Unity 的核心价值在于简化了 AI 与 Unity 的集成,显著提升开发效率。它通过标准化的 MCP 协议,实现了 AI 模型对 Unity 编辑器的安全控制。例如,AI 可以根据自然语言指令,在场景中添加资源或运行测试。

该解决方案通过 Unity 包管理器安装,并依赖 Node.js 运行服务器。它提供了一系列工具和资源,使 AI 能够理解 Unity 项目的结构和状态,从而实现更智能化的游戏开发工作流程。

mcp-unity 核心能力

IDE集成 - 包缓存访问

MCP Unity通过将Unity的Library/PackageCache文件夹添加到工作区,实现了与VSCode等IDE(如Visual Studio Code、Cursor、Windsurf)的自动集成。这项功能极大地增强了Unity项目的代码智能,为Unity包提供了更完善的自动完成和类型信息,并帮助AI编码助手更好地理解项目依赖关系。例如,当AI助手需要修改某个Unity包中的代码时,它可以直接访问PackageCache中的文件,无需手动查找和导入,从而显著提高开发效率。这项功能解决了开发者在AI辅助编程时,AI模型难以理解Unity项目结构和依赖关系的难题,使得AI助手能够更准确地提供代码建议和自动完成功能。技术上,该功能通过配置IDE的工作区设置,将PackageCache目录纳入AI助手的索引范围来实现。

执行Unity菜单项

MCP Unity允许AI助手通过execute_menu_item工具执行Unity编辑器中的菜单项(使用MenuItem属性标记的函数)。这意味着AI可以直接控制Unity编辑器的各种功能,例如创建新的GameObject、导入资源、构建项目等。例如,开发者可以通过提示AI助手“创建一个新的空GameObject”来自动执行“GameObject/Create Empty”菜单项,而无需手动点击菜单。这项功能极大地简化了重复性的编辑器操作,并为自动化工作流程提供了可能。它解决了开发者需要频繁手动操作Unity编辑器的问题,使得AI助手能够更深入地参与到游戏开发过程中。技术上,该功能通过调用UnityEditor.Menu.ExcuteMenuItem来实现。

更新组件属性

MCP Unity提供update_component工具,允许AI助手更新GameObject上的组件字段,或者在GameObject不包含该组件时将其添加到GameObject。这项功能使得AI能够直接修改游戏对象的属性,例如调整Rigidbody的质量、修改材质的颜色、改变Transform的位置等。例如,开发者可以通过提示AI助手“将Rigidbody组件添加到Player对象,并将其质量设置为5”来自动完成组件的添加和属性的修改。这项功能极大地提高了游戏对象配置的效率,并为AI驱动的游戏内容生成提供了基础。它解决了开发者需要手动调整大量游戏对象属性的问题,使得AI助手能够更智能地控制游戏世界。技术上,该功能通过Unity的反射机制来访问和修改组件的属性。

场景资源操控

MCP Unity支持AI助手使用add_asset_to_scene工具将AssetDatabase中的资源添加到Unity场景中。这意味着AI可以根据开发者的指令,将预制体、模型、纹理等资源直接拖拽到场景中,并进行摆放和配置。例如,开发者可以通过提示AI助手“将Player预制体从我的项目添加到当前场景”来快速搭建游戏场景。这项功能极大地简化了场景搭建的过程,并为AI驱动的场景生成提供了可能。它解决了开发者需要手动拖拽和配置资源的问题,使得AI助手能够更高效地构建游戏世界。技术上,该功能通过AssetDatabase API加载资源,并使用Instantiate API将其添加到场景中。