Ivan Murzak

by IvanMurzak
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Utilizes .NET 9.0 as the foundation for the server component, enabling communication between the Unity plugin and external AI clients, with support for custom tool development in C#.

  • Acts as an AI-powered gateway between Unity Editor and LLM, allowing manipulation of GameObjects, Components, Assets, and Scenes. Supports creating and managing Unity objects, instantiating prefabs, searching assets, and viewing scene hierarchies with an extensible tool system.

Unity MCP (Servidor + Complemento)

Versión de UnityModo de ediciónModo de juegoAutónomo
2022.3.61f1
2023.2.20f1
6000.0.46f1

Unity-MCP actúa como una puerta de enlace basada en IA entre tu Editor de Unity y LLM, lo que permite una automatización fluida y un control inteligente de tus proyectos de Unity. Al integrarse con el servidor y el cliente de MCP, permite que agentes de IA o herramientas externas interactúen con tu entorno de Unity, creando, modificando y gestionando GameObjects, Componentes, Recursos, Escenas y más.

El sistema es extensible: puedes definir tool personalizadas directamente en el código base de tu proyecto Unity, lo que expone nuevas capacidades a los clientes de IA o automatización. Esto convierte a Unity-MCP en una base flexible para crear flujos de trabajo avanzados, prototipado rápido o integrar funciones basadas en IA en tu proceso de desarrollo.

Herramientas de IA

Objeto de juego

  • ✅ Crear
  • ✅ Destruir
  • ✅ Encuentra
  • 🔲 Modificar
GameObject.Componentes
  • ✅ Agregar componente
  • ✅ Destruir componente
  • ✅ Modificar componente
    • ✅ Valor del conjunto Field
    • ✅ Valor establecido Property
    • ✅ Conjunto de enlaces Reference

Componente

  • ✅ Consiguelo todo

Prefabricados

  • ✅ Instanciar
  • 🔲 Crear desde la escena

Editor

  • 🔲 Ejecutar pruebas
  • 🔲 Iniciar/detener el modo de reproducción en el editor

Activos

  • ✅ Buscar
  • ✅ Actualizar
  • 🔲 Import
  • 🔲 Leer

Escena

  • ✅ Obtener jerarquía
  • 🔲 Crear escena
  • 🔲 Guardar escena
  • 🔲 Escena abierta

Materiales

  • 🔲 Crear
  • 🔲 Actualización
  • ✅ Asignar a un componente en un GameObject

Guiones

  • 🔲 Crear

Leyenda: ✅ = Implementado y disponible 🔲 = Planificado / Aún no implementado

Instalación

  1. Instalar .NET 9.0
  2. Instalar OpenUPM-CLI
  • Abrir la línea de comandos en la carpeta del proyecto de Unity
  • Ejecutar el comando
openupm add com.ivanmurzak.unity.mcp

Uso

  1. Ir a 👉 Window/AI Connector (Unity-MCP) .
  2. Haga clic en configurar en su cliente MCP.
  3. Reinicie su cliente MCP.
  4. Asegúrese de que AI Connector esté "Conectado" después de reiniciar.

Agregar tool personalizada

⚠️ Aún no es compatible. Hay un problema de bloqueo en csharp-sdk para el servidor MCP. Esperando solución.

Unity-MCP está diseñado para facilitar el desarrollo de tool personalizadas por parte del propietario del proyecto. El servidor MCP toma datos del plugin de Unity y los expone a un cliente. De esta forma, cualquier persona en la cadena de comunicación de MCP recibirá información sobre una nueva tool , a la que LLM podría llamar en algún momento.

Para agregar una tool personalizada necesitas:

  1. Tener una clase con atributo McpPluginToolType .
  2. Tener un método en la clase con atributo McpPluginTool .
  3. [opcional] Agregue el atributo Description a cada argumento del método para permitir que LLM lo comprenda.
  4. [opcional] Utilice string? optional = null propiedades con ? y el valor predeterminado para marcarlas como optional para LLM.

Observa que la línea => MainThread.Run(() => permite ejecutar el código en el hilo principal que es necesario para interactuar con la API de Unity. Si no lo necesitas y ejecutar la herramienta en el hilo de fondo es adecuado para la herramienta, no uses el hilo principal por razones de eficiencia.

[McpPluginToolType] public class Tool_GameObject { [McpPluginTool ( "GameObject_Create", Title = "Create a new GameObject", Description = "Create a new GameObject." )] public string Create ( [Description("Path to the GameObject (excluding the name of the GameObject).")] string path, [Description("Name of the GameObject.")] string name ) => MainThread.Run(() => { var targetParent = string.IsNullOrEmpty(path) ? null : GameObject.Find(path); if (targetParent == null && !string.IsNullOrEmpty(path)) return $"[Error] Parent GameObject '{path}' not found."; var go = new GameObject(name); go.transform.position = new Vector3(0, 0, 0); go.transform.rotation = Quaternion.identity; go.transform.localScale = new Vector3(1, 1, 1); if (targetParent != null) go.transform.SetParent(targetParent.transform, false); EditorUtility.SetDirty(go); EditorApplication.RepaintHierarchyWindow(); return $"[Success] Created GameObject '{name}' at path '{path}'."; }); }

Contribución

Siéntete libre de agregar nuevas tool al proyecto.

  1. Bifurcar el proyecto.
  2. Implemente una nueva tool en su repositorio bifurcado.
  3. Cree una solicitud de extracción en el repositorio Unity-MCP original.
-
security - not tested
A
license - permissive license
-
quality - not tested

Automatización fluida y control inteligente de tus proyectos Unity. Al integrarse con el servidor y el cliente MCP, permite que agentes de IA o herramientas externas interactúen con tu entorno Unity, creando, modificando y gestionando GameObjects, Componentes, Recursos, Escenas y más.

  1. AI Tools
    1. GameObject
    2. Component
    3. Prefabs
    4. Editor
    5. Assets
    6. Scene
    7. Materials
    8. Scripts
  2. Installation
    1. Usage
      1. Add custom tool
        1. Contribution
          ID: 9jn15xt5xm