Union - Unity MCP Server

Un servidor MCP para gestionar e interactuar con proyectos de Unity.

Documentación

[!IMPORTANT] Union está obsoleto. Usa el servidor MCP oficial de Unity.

Union ♾️ - The Unity MCP Server

Un servidor de Model Context Protocol para Unity

Doki Delivery Airship

Características principales

  • 🖼️ Visión multimodal: Tu agente puede ver lo que tú ves. Puede ver la escena, mirar a través de cualquier cámara, observar el modo de reproducción e inspeccionar las miniaturas de los activos.

  • 🔎 Búsqueda potente: Ve más allá del panel de proyecto con búsqueda simultánea en la jerarquía y los activos del proyecto.

  • ✔️ Análisis de código superior: Aprovecha el compilador propio de Unity para un análisis de código más preciso que el linter de tu agente.

  • ⏩ Inicio rápido: Ponte en marcha en segundos con un único archivo de configuración mcp.json.

  • 🛠️ Extensible: Añade tus propias herramientas específicas del proyecto con un mínimo de código repetitivo.

  • 📅 Siempre actualizado: Se mantiene al día con la última versión del protocolo MCP — actualmente 2025-06-18 mediante el SDK oficial de MCP para C#.

Compatibilidad

NombreCompatibleNotas
Modelos
GPT-4.1✅
Claude 4 Sonnet✅
Claude 4 Opus✅
Gemini 2.5 Pro✅
Gemini 2.5 Flash✅
o3✅Sin comprensión de imágenes
o4-mini✅
Versiones de Unity
Unity 6000.0.x✅Las versiones superiores deberían funcionar. Las versiones inferiores pueden funcionar pero no están probadas.
Agentes
Cursor✅
Rider AI✅
Claude Desktop✅
Claude Code✅La terminal requiere permisos de grabación de pantalla y audio del sistema en Mac
Sistemas operativos
Windows✅
Mac✅
Ubuntu❔No probado

Configuración

1. Instala node.js

2. Configura mcp.json

{
  "mcpServers": {
    "unity": {
      "command": "npx",
      "args": ["-y", "@nurture-tech/unity-mcp-runner", "-unityPath", "<path to unity editor>", "-projectPath", "<path to unity project>"]
    }
  }
}

Esto instalará automáticamente el paquete is.nurture.mcp en tu proyecto de Unity. Siéntete libre de confirmar esos cambios en el control de versiones.

Acerca de las herramientas

Conoce tu caja de herramientas de IA de Unity.

HerramientaDescripción
Activos
get_asset_contentsObtén el contenido completo de un activo o subactivo.
copy_assetCopia un activo a una nueva ruta.
import_assetImporta un activo desde el sistema de archivos a Unity.
get_asset_importerObtén la configuración del importador para un activo.
Prefabs
open_prefabAbre un prefab de Unity en modo de aislamiento para que pueda editarse.
Escenas
open_sceneAbre una escena
close_sceneCierra una escena abierta
save_sceneGuarda la escena actual. Si la escena no está modificada, esto no hará nada.
get_game_objectObtén los detalles de un objeto de juego en una escena cargada o prefab mediante su ruta de jerarquía.
test_active_scenePrueba la escena activa entrando en modo de reproducción y ejecutándola durante un número determinado de segundos.
Scripting
create_scriptCrea o reemplaza un archivo de código C# en la ruta dada. Esto también verifica que el script compile.
execute_codeEjecuta código dentro del editor de Unity.
get_type_infoObtén campos y métodos públicos de un nombre de tipo totalmente calificado de Unity, incluido el ensamblado.
Búsqueda
searchBusca activos del proyecto y objetos de escena.
Estado del editor
get_stateObtén el estado del editor de Unity.
get_selectionObtén los objetos que el usuario tiene seleccionados actualmente en el editor.
Visión
focus_game_objectEnfoca un objeto de juego en la vista de escena.
screenshotRecupera una vista previa de lo que está enfocado en la vista de escena.

Problemas conocidos

  • El Administrador de Dependencias Externas de Google (EDMU) hace que Unity se cuelgue para siempre al iniciarse cuando se lanza a través de Cursor en Windows. Esto está bajo investigación.

  • La herramienta test_active_scene a veces falla con el mensaje de error Maximum call stack size exceeded.

  • La herramienta search ocasionalmente falla con el mensaje de error Search index is not ready yet. Please try again later.

Añadir herramientas específicas del proyecto

Union utiliza el SDK oficial de MCP para C#.

  1. Crea una clase estática para contener tus herramientas. Añade la anotación [McpServerToolType] a la clase.

  2. Declara métodos estáticos para implementar cada herramienta. Añade la anotación [McpServerTool] a cada método.

  3. Consulta el directorio Services para ver ejemplos.

  4. Probablemente necesitarás salir de Unity y reiniciar tu agente para que vea las nuevas herramientas.

Consejos de uso

Aquí tienes algunos consejos para aprovechar al máximo Union:

  • 🚀 Lanza a través de tu agente: Lanza siempre Unity mediante la integración MCP de tu agente de IA. Lanzar Unity desde el Hub impedirá que el servidor MCP se conecte.

  • 📂 Configuración por proyecto: Si tu agente lo admite, configura el servidor MCP en la configuración de tu proyecto. Esto te permite cambiar sin problemas entre proyectos de Unity.

  • ⚙️ Argumentos de línea de comandos: Puedes pasar argumentos adicionales a Unity para escenarios avanzados como ejecutar en -batchmode o -nographics para pipelines de CI/CD. Añade un separador -- antes de los argumentos específicos de Unity:

    {
      "mcpServers": {
        "unity": {
          "command": "npx",
          "args": [
            "-y",
            "@nurture-tech/unity-mcp-runner"
            "-unityPath",
            "<path to unity editor>",
            "-projectPath",
            ".",
            "--",
            "-batchmode",
            "-nographics"
          ]
        }
      }
    }
    
  • ⚠️ Importante: No uses el argumento de línea de comandos -logFile. El servidor MCP depende de la salida estándar de Unity para la comunicación.

  • 🖥️ Pantalla dividida para visión: Para herramientas como screenshot, asegúrate de que el editor de Unity sea visible en tu pantalla; de lo contrario, terminará capturando la ventana en primer plano.