Unity编辑器AI交互工具

Unity MCP是一款开源工具,使AI助手能够通过模型上下文协议(MCP)直接与Unity编辑器交互,支持资产管理、场景控制、脚本编辑和自动化工作流等功能。

  • by whatevertogo
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 whatevertogo/unity-mcp-skill

使用说明

Unity MCP技能

人工智能助手工作的专家指南和参考 CoplayDev/unity mcp -允许AI助手(Claude、Cursor、VS Code Copilot等)通过模型上下文协议(MCP)直接与Unity编辑器交互的桥梁。

关于Unity MCP

MCP for Unity 是一个开源工具,为您的LLM提供强大的工具,用于:

  • 管理资产(创建、修改、组织)
  • 控制场景和游戏对象
  • 编辑和验证C#脚本
  • 自动化重复的Unity工作流程
  • 执行批处理操作以获得最佳性能

快速设置

  1. 安装Unity软件包

    Unity → Window → Package Manager → + → Add package from git URL
    URL: https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
    
  2. 启动服务器

    Unity → Window → MCP for Unity → Start Server
    
  3. 连接您的MCP客户端

    • 自动配置:选择您的客户端并单击 配置
    • 手动:添加到客户端配置中:
      {
        "mcpServers": {
          "unityMCP": {
            "url": "http://localhost:8080/mcp"
          }
        }
      }
      

关于此技能

此存储库提供 综合参考指南 让AI助手理解并有效使用Unity MCP工具和资源。

文档结构

unity-mcp-skill/
├── SKILL.md              # Main skill entry point
├── workflows.md          # Common workflow patterns
├── domains/              # Domain-specific guides
│   ├── gameobjects.md    # GameObject operations
│   ├── scripts.md        # Script editing & validation
│   ├── scene.md          # Scene management
│   ├── materials.md      # Material creation/editing
│   ├── prefabs.md        # Prefab workflows
│   ├── assets.md         # Asset management
│   ├── editor.md         # Editor operations
│   ├── testing.md        # Test automation
│   └── advanced.md       # Advanced techniques
├── tools/                # Tool references
│   └── batch_execute.md  # Batch operations guide
└── resources/            # Resource references
    ├── instances.md      # Unity instance management
    ├── selection.md      # Editor selection API
    ├── project_info.md   # Project structure info
    ├── editor_windows.md # Editor window management
    ├── menu_items.md     # Menu item execution
    └── custom_tools.md   # Custom tool definitions

关键概念

资源优先工作流

在执行工具之前,请务必检查可用资源以了解Unity上下文:

  1. unity_instances -哪些Unity实例正在运行
  2. editor_selection -当前选择了哪些对象
  3. project_info -项目结构和配置
  4. editor_state -当前编辑器模式和设置

域组织

工具和资源按领域组织,以便更好地理解上下文:

  • 游戏对象域:层次结构操作、组件管理
  • 脚本域:C#文件操作、验证、Roslyn集成
  • 场景域:场景加载/保存,游戏对象查找
  • 材料领域:着色器分配、属性操作
  • 资产域:资产创建、导入设置、组织

性能优化

  • 使用 batch_execute 用于多种操作(速度快10-100倍)
  • 更喜欢 文本编辑 文件重写过度
  • 杠杆作用 find_gameobjects 用于批量查询
  • 使用 apply_text_edits 用于精确的脚本修改

可用工具和资源

核心工具

  • manage_gameobject -创建、修改、销毁游戏对象
  • manage_script -创建、编辑、验证C#脚本
  • manage_scene -加载、保存、管理场景
  • manage_material -创建和编辑材质
  • manage_asset -资产创建和管理
  • batch_execute -高效执行多项操作
  • find_gameobjects -按条件搜索游戏对象
  • execute_menu_item -执行Unity菜单命令

关键资源

  • unity_instances -活动Unity编辑器实例
  • editor_selection -当前选定的对象
  • project_info -项目路径和结构
  • editor_state -播放模式,编辑器状态信息
  • menu_items -可用菜单命令

使用示例

基本工作流程

User: "Create a red cube at position (0, 0, 0)"

Assistant:
1. Check unity_instances resource → Connect to active instance
2. Check editor_selection resource → Understand current context
3. Use manage_gameobject tool → Create cube
4. Use manage_material tool → Create red material
5. Use manage_component tool → Assign material to cube

高级工作流

User: "Create a player controller with WASD movement"

Assistant:
1. Check project_info → Locate Scripts folder
2. Use create_script tool → Generate PlayerController.cs
3. Use script_apply_edits tool → Implement WASD logic
4. Use validate_script tool → Ensure code compiles
5. Use manage_gameobject tool → Create player GameObject
6. Use manage_component tool → Attach PlayerController script

MCP客户端兼容性

Unity MCP可与多个MCP客户端配合使用:

  • ✅ 克劳德桌面版 -全力支持
  • ✅ 克劳德代码 -全力支持
  • ✅ 光标 -全力支持
  • ✅ VS代码副本 -全力支持
  • ✅ GitHub Copilot命令行界面 -全力支持
  • ✅ 帆板运动 -全力支持

性能提示

  1. 使用批处理操作:将多个操作合并为 batch_execute
  2. 先查看资源:通过检查上下文避免不必要的工具调用
  3. 文本编辑超过重写:使用 apply_text_edits 用于脚本修改
  4. 利用发现:使用 find_gameobjects 而不是手动迭代

故障排除

连接问题

  • 验证Unity MCP服务器是否正在运行(Unity的窗口>MCP)
  • 检查服务器是否打开 http://localhost:8080/mcp
  • 确保MCP客户端配置正确

多个Unity实例

  • 使用 unity_instances 列出活动实例的资源
  • 使用 set_active_instance 针对特定实例
  • 格式: ProjectName@hash

脚本验证

  • 启用Roslyn验证以进行严格类型检查
  • 安装NuGetForUnity→ Add Microsoft.CodeAnalysis
  • 添加 USE_ROSLYN 到脚本定义符号

贡献

本技能文档旨在帮助AI助手更有效地使用Unity MCP。欢迎贡献和改进!

相关资源

许可证

本技能文档作为附件提供 MCP for Unity,根据麻省理工学院许可证获得许可。

致谢

专为配合使用而设计 MCP for Unity by Coplay -Unity开发的最佳AI助手集成。


备注:这是一份独立的参考指南,与CoplayDev或Unity Technologies没有正式联系。