你是否曾经希望AI能够直接在Unity编辑器中创建游戏对象、编写C#脚本、调整材质,甚至自动化整个关卡设计流程?今天要介绍的开源项目Unity自动化工具,正是为了实现这个目标而设计的。它由justinpbarnett开发,通过MCP协议在Unity与大型语言模型之间搭建起无缝通信桥梁,让AI能够以编程方式控制Unity编辑器。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | Unity自动化工具 |
| GitHub地址 | https://github.com/justinpbarnett/unity-mcp |
| 项目描述 | 基于模型上下文协议,搭建起 Unity 与大型语言模型间的无缝通信桥梁。它助力开发人员自动化工作流,可对资源进行操作,还能以编程方式控制 Unity 编辑器,优化开发流程。 |
| 作者 | justinpbarnett |
| 开源协议 | MIT License |
| 开源状态 | 公开状态 |
| Languages | C#, Python |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-04-23 |
一、项目介绍
Unity自动化工具是一个让AI能够直接控制Unity编辑器的MCP服务器。它由两个主要组件构成:
- Unity MCP桥接器:一个在Unity编辑器内运行的Unity包
- Unity MCP服务器:一个本地运行的Python服务器,在桥接器和MCP客户端之间通信
通过这个工具,AI可以执行各种Unity开发任务:
- 管理游戏对象(创建、修改、删除、查找、组件操作)
- 管理资源(导入、创建、修改、删除)
- 管理C#脚本(创建、读取、更新、删除)
- 管理场景(加载、保存、创建、获取层次结构)
- 管理着色器(CRUD操作)
- 控制编辑器状态和设置
- 读取控制台消息
- 执行菜单项命令
二、核心优势
功能全面
提供了8大类工具,覆盖Unity开发的各个方面:
manage_gameobject:GameObject操作manage_asset:资源管理manage_script:C#脚本管理(支持Roslyn高级验证)manage_scene:场景管理manage_shader:着色器管理manage_editor:编辑器控制read_console:控制台消息execute_menu_item:菜单命令
自然语言控制
通过自然语言指示AI执行Unity任务,例如“创建一个3D玩家控制器”、“创建一个黄色的太阳和桥梁”。
高级脚本验证
可选集成Roslyn编译器,提供完整的C#语义分析、命名空间/类型检查,捕获未定义的方法和类型。
自动化工作流
可以自动化重复的Unity开发流程,如批量创建对象、统一修改材质等。
活跃的社区支持
提供Discord社区,获取帮助、分享想法并与其他开发者合作。
三、适用场景
AI辅助游戏开发
让AI根据自然语言描述自动创建游戏对象、编写脚本、设置场景,加速原型开发。
批量资源操作
AI可以批量处理资源导入、修改和删除,节省手动操作时间。
关卡设计自动化
通过AI生成关卡布局,自动放置游戏对象、设置触发器。
代码生成与验证
AI可以生成C#脚本,并通过Roslyn进行语法和语义验证。
编辑器扩展开发
开发者可以参考此项目,创建自己的Unity MCP工具。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Git | 克隆仓库(可选) | [https://git-scm.com/] |
| Python | 运行MCP服务器 | [https://python.org/] (版本要求:3.12 或更高) |
| uv | Python包管理器 | pip install uv |
| Unity Hub & 编辑器 | Unity开发环境 | [https://unity.com] (版本要求:2020.3 LTS 或更高) |
| MCP客户端 | 如Claude Desktop、Cursor等 | 根据客户端官网下载 |
| Roslyn | 可选,用于高级脚本验证 | 通过NuGet安装 |
详细安装步骤
第一步:安装Unity包(桥接器)
- 打开你的Unity项目
- 转到Window -> Package Manager
- 点击+ -> Add package from git URL...
- 输入:
https://github.com/justinpbarnett/unity-mcp.git?path=/UnityMcpBridge - 点击Add
MCP服务器应该会在此过程中自动安装到你的机器上。
第二步:配置MCP客户端
方式A:自动配置(推荐)
- 在Unity中,转到Window -> Unity MCP
- 点击你使用的IDE上的“Auto Configure”
- 寻找绿色状态指示器 🟢 和“已连接”
方式B:手动配置
如果自动配置失败,手动编辑MCP客户端配置文件。
对于Claude Desktop(macOS):~/Library/Application Support/Claude/claude_desktop_config.json
对于Claude Desktop(Windows):%APPDATA%\Claude\claude_desktop_config.json
添加配置:
Windows:
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\Users\\你的用户名\\AppData\\Local\\Programs\\UnityMCP\\UnityMcpServer\\src",
"server.py"
]
}
}
}macOS:
{
"mcpServers": {
"UnityMCP": {
"command": "uv",
"args": [
"run",
"--directory",
"/usr/local/bin/UnityMCP/UnityMcpServer/src",
"server.py"
]
}
}
}对于Claude Code:
macOS:
claude mcp add UnityMCP -- uv --directory /[PATH_TO]/UnityMCP/UnityMcpServer/src run server.pyWindows:
claude mcp add UnityMCP -- "C:/Users/用户名/AppData/Roaming/Python/Python313/Scripts/uv.exe" --directory "C:/Users/用户名/AppData/Local/Programs/UnityMCP/UnityMcpServer/src" run server.py第三步:安装Roslyn(可选,用于高级脚本验证)
- 安装NuGetForUnity(Window -> NuGet Package Manager)
- 搜索并安装
Microsoft.CodeAnalysis.CSharp - 在Player Settings -> Scripting Define Symbols中添加
USE_ROSLYN - 重启Unity
第四步:验证安装
- 打开Unity项目
- 检查Window -> Unity MCP窗口,确认状态为“已连接”
- 启动MCP客户端,尝试使用Unity工具
五、使用示例
配置完成后,你就可以在MCP客户端中使用自然语言来操作Unity编辑器了。
示例1:创建游戏对象
用户指令:“在场景中创建一个立方体,设置位置为(0,1,0),颜色为红色”
AI会调用manage_gameobject工具,创建立方体并添加材质。
示例2:编写C#脚本
用户指令:“创建一个玩家移动脚本,使用WASD控制移动”
AI会调用manage_script工具,生成C#脚本文件。如果安装了Roslyn,还会进行语法验证。
示例3:管理场景
用户指令:“保存当前场景为‘Level1’,然后创建一个新场景”
AI会调用manage_scene工具执行操作。
示例4:创建着色器
用户指令:“创建一个简单的彩色渐变着色器,应用到球体上”
AI会调用manage_shader工具生成着色器代码。
示例5:批量操作
用户指令:“在场景中创建10个随机位置的立方体,每个有不同的颜色”
AI会循环调用manage_gameobject工具,创建多个对象。
示例6:执行菜单命令
用户指令:“保存项目并构建Windows版本”
AI会调用execute_menu_item工具,执行“文件/保存项目”和“文件/构建设置”等菜单命令。
六、常见问题
问题1:Unity Bridge未运行或连接失败
解决方案:
- 确保Unity编辑器已打开
- 检查状态窗口:Window -> Unity MCP
- 重启Unity
问题2:MCP客户端无法连接/服务器未启动
解决方案:
- 验证服务器路径:检查MCP配置中的
--directory路径是否正确 - 验证uv:确保uv已安装并正常工作(
pip show uv) - 手动运行服务器测试:
cd /path/to/UnityMCP/UnityMcpServer/src && uv run server.py
问题3:自动配置失败
解决方案:使用手动配置步骤。自动配置可能缺乏写入MCP客户端配置文件的权限。
问题4:脚本验证不完整
解决方案:安装Roslyn以获得完整的C#语义分析。没有Roslyn时,只进行基本的结构检查。
问题5:权限问题(macOS/Linux)
解决方案:如果服务器安装在系统位置如/usr/local/bin,请确保运行MCP客户端的用户有执行权限。考虑安装在~/bin目录下。
七、总结
Unity自动化工具是目前MCP生态中唯一专门为Unity游戏引擎设计的服务器。它将Unity编辑器的核心功能通过MCP协议开放给AI,让AI能够用自然语言控制游戏开发流程。
这个项目的最大价值在于:
- AI辅助开发:用自然语言创建游戏对象、编写脚本、设置场景
- 功能全面:覆盖GameObject、资源、脚本、场景、着色器等核心功能
- 高级验证:可选Roslyn集成,提供完整的C#语义分析
- 易于配置:支持一键自动配置,降低使用门槛
- 活跃社区:提供Discord社区,持续改进中
如果你是Unity开发者,并且希望用AI来加速游戏开发流程,Unity自动化工具将为你打开一扇新的大门。 让AI处理重复性的工作,你专注于游戏创意和核心玩法。
着色器生成功能很实用,AI可以帮忙写Shader代码。
场景管理支持加载、保存、创建、获取层次结构。
自动配置按钮在Window->Unity MCP里,很方便。
手动配置时路径要特别注意,用双反斜杠或正斜杠。
批量操作场景下,AI可以创建多个对象,节省大量时间。