🚀 先进的Unity MCP集成
 ](https://smithery.ai/server/@quazaai/unitymcpintegration)  ](https://nodejs.org)  
  
此软件包提供了以下各项之间的无缝集成 模型上下文协议(MCP) Unity编辑器,允许AI助手实时理解您的Unity项目并与之交互。通过这种集成,AI助手可以访问有关场景层次结构、项目设置的信息,并直接在Unity编辑器上下文中执行代码。
📚 特性
- 直接浏览和操作项目文件
- 访问有关Unity项目的实时信息
- 了解场景层次结构和游戏对象
- 直接在Unity编辑器中执行C#代码
- 监控日志和错误
- 控制编辑器的播放模式
- 等待代码执行
🚀 入门指南
先决条件
- Unity 2021.3或更高版本
- Node.js 18+(用于运行MCP服务器)
安装
1.安装Unity软件包
您有几个选项可以安装Unity软件包:
选项A:包管理器(Git URL)
- 打开Unity包管理器(
Window > Package Manager) - 点击
+按钮并选择Add package from git URL... - 输入存储库URL:
https://github.com/quazaai/UnityMCPIntegration.git - 点击
Add
选项B:导入自定义包
- 克隆此存储库或 将其作为单元包下载
- 在Unity中,转到
Assets > Import Package > Custom Package - 选择
UnityMCPIntegration.unitypackage文件
2.设置MCP服务器
您有两个选项来运行MCP服务器:
选项A:直接运行服务器
- 导航到 `mcpServer (likely
\Library\PackageCache\com.quaza.unitymcp@d2b8f1260bca\mcpServer\)` 目录
- 安装依赖项:
npm install- 运行服务器:
node build/index.js选项B:添加到MCP主机配置
将服务器添加到Claude Desktop、自定义实现等的MCP主机配置中
{
"mcpServers": {
"unity-mcp-server": {
"command": "node",
"args": [
"path-to-project>\\Library\\PackageCache\\com.quaza.unitymcp@d2b8f1260bca\\mcpServer\\mcpServer\\build\\index.js"
],
"env": {
"MCP_WEBSOCKET_PORT": "5010"
}
}
}
}演示视频

通过Smithery安装
通过以下方式自动安装Unity MCP Integration for Claude Desktop 史密瑟里:
npx -y @smithery/cli install @quazaai/unitymcpintegration --client claude🔧 用法
调试和监控
您可以在Unity中打开MCP调试窗口来监视连接和测试功能:
- 首选
Window > MCP Debug - 使用调试窗口可以:
- 检查连接状态 - 测试代码执行 - 查看日志 - 监控事件
可用工具
Unity MCP集成为AI助手提供了多种工具:
Unity编辑器工具
- get_editor_state:获取有关Unity项目和编辑器状态的全面信息
- get_current场景信息:获取当前场景的详细信息
- 获取名称对象信息:获取场景中特定游戏对象的信息
- execute_editor_command:直接在Unity编辑器中执行C#代码
- get_logs:检索和过滤Unity控制台日志
- 验证连接:检查是否与Unity编辑器有活动连接
文件系统工具
- read_file:读取Unity项目中文件的内容
- 读取多个文件:一次读取多个文件
- write_file:用新内容创建或覆盖文件
- edit_file:使用差异预览对现有文件进行有针对性的编辑
- list_directory:获取目录中的文件和文件夹列表
- 目录树:获取目录和文件的层次视图
- 搜索文件:查找与搜索模式匹配的文件
- 获取_文件_信息:获取特定文件或目录的元数据
- find_assets_by_type:查找特定类型的所有资产(例如材料、预制件)
- list_scripts:获取项目中所有C#脚本的列表
文件路径可以是绝对路径,也可以是相对于Unity项目的Assets文件夹的路径。例如, "Scenes/MyScene.unity" 指的是 /Assets/Scenes/MyScene.unity.
🛠️ 建筑
集成由两个主要部分组成:
- Unity插件(C#):驻留在Unity编辑器中,并提供对编辑器API的访问
- MCP服务器(Types/Node.js):实现MCP协议并与Unity插件通信
它们之间的通信通过WebSocket进行,传输命令和数据的JSON消息。
文件系统访问
Unity MCP集成现在包括强大的文件系统工具,允许AI助手:
- 浏览、读取和编辑Unity项目中的文件
- 创建新文件和目录
- 搜索特定文件或资产类型
- 分析您的项目结构
- 使用差异预览进行有针对性的代码更改
为了安全起见,所有文件操作都限制在Unity项目目录中。该系统智能地处理绝对路径和相对路径,为了方便起见,始终将它们相对于项目的Assets文件夹进行解析。
示例用法:
- 获取目录列表:
list_directory(path: "Scenes") - 读取脚本文件:
read_file(path: "Scripts/Player.cs") - 编辑配置文件:
edit_file(path: "Resources/config.json", edits: [{oldText: "value: 10", newText: "value: 20"}], dryRun: true) - 查找所有材料:
find_assets_by_type(assetType: "Material")
👥 贡献
欢迎投稿!以下是您如何做出贡献:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 进行更改
- 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
开发设置
团结一方:
- 在Unity中打开项目
- 修改中的C#脚本
UnityMCPConnection/Editor目录
服务器端:
- 导航到
mcpServer目录 - 安装依赖项:
npm install - 对中的TypeScript文件进行更改
src目录 - 构建服务器:
npm run build - 运行服务器:
node build/index.js
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
📞 支持
如果您遇到任何问题或有疑问,请在GitHub存储库上提交问题。
