Inicio rápido

June 4, 2026 · View on GitHub

✨ Desarrollador de Juegos con IA — Unity SKILLS, MCP

MCP OpenUPM Docker Image Unity Editor Unity Runtime r
Discord OpenUPM Stars License Stand With Ukraine

Trabajo con IA

Claude   Codex   Cursor   GitHub Copilot   Gemini   Antigravity   VS Code   Rider   Visual Studio   Open Code   Cline   Kilo Code

English | 中文 | 日本語

Unity MCP es un asistente de desarrollo de juegos impulsado por IA para Editor y Runtime. Conecta Claude, Cursor y Windsurf a Unity mediante MCP. Automatiza flujos de trabajo, genera código y habilita la IA dentro de tus juegos.

A diferencia de otras herramientas, este plugin funciona dentro de tu juego compilado, permitiendo depuración en tiempo real con IA e interacción jugador-IA.

💬 Únete a nuestro servidor de Discord - ¡Haz preguntas, muestra tu trabajo y conecta con otros desarrolladores!

AI Game Developer — Unity MCP

  • ✔️ Agentes de IA - Usa los mejores agentes de Anthropic, OpenAI, Microsoft o cualquier otro proveedor sin dependencia de un solo proveedor
  • ✔️ Herramientas - Una amplia gama de Herramientas MCP predeterminadas para operar en Unity Editor
  • ✔️ Skills - Genera skills para la IA basadas en el sistema operativo, la versión de Unity y los plugins del proyecto
  • ✔️ Código y pruebas - Desarrolla mecánicas de juego y pruébalas con agentes de IA
  • ✔️ Runtime (en el juego) - Usa LLMs directamente dentro de tu juego compilado para comportamiento dinámico de NPCs o depuración
  • ✔️ Soporte de depuración - Deja que la IA depure y corrija los problemas de un proyecto
  • ✔️ Conversación natural - Chatea con la IA como lo harías con un humano
  • ✔️ Despliegue flexible - Funciona localmente (stdio) y de forma remota (http) mediante configuración
  • ✔️ Extensible - Crea herramientas personalizadas en el código de tu proyecto

DESCARGAR INSTALADOR

https://github.com/user-attachments/assets/228baf4d-4f00-4dce-939d-fb985ebdd8dd

O usa la CLI

# 1. Instalar unity-mcp-cli
npm install -g unity-mcp-cli

# 2. Instalar "AI Game Developer" en el proyecto de Unity
unity-mcp-cli install-plugin ./MyUnityProject

# 3. Iniciar sesión en el servidor cloud
unity-mcp-cli login ./MyUnityProject

# 4. Abrir proyecto de Unity (auto-conecta y genera skills)
unity-mcp-cli open ./MyUnityProject

AI Game Developer Windows

AI Game Developer — Unity SKILLS and MCP

Inicio rápido

Ponte en marcha en tres pasos:

  1. Instalar el plugin — descarga el instalador .unitypackage o ejecuta openupm add com.ivanmurzak.unity.mcp

    Alternativa: npx unity-mcp-cli install-plugin ./MyUnityProject — ver documentación de la CLI

  2. Elegir un agente de IA — Claude Code, Claude Desktop, GitHub Copilot, Cursor o cualquier otro
  3. Configurar el agente de IA — abre Window/AI Game Developer en Unity y haz clic en Auto-generate skills (recomendado) o Configure MCP Setup AI Skills

    Alternativa: npx unity-mcp-cli setup-skills claude-code ./MyUnityProject — ver documentación de la CLI

Eso es todo. Pídele a tu IA "Crea 3 cubos en un círculo con radio 2" y observa cómo sucede. ✨


Referencia de Skills y herramientas

El plugin incluye más de 70 herramientas integradas en cuatro categorías. Cada herramienta aporta una habilidad a la IA. Todas las herramientas están disponibles inmediatamente después de la instalación — no se requiere configuración adicional. Consulta docs/default-mcp-tools.md para la referencia completa con descripciones detalladas.

🧰 Explora el registro completo de herramientas MCP en línea: ai-game.dev/docs/tools

Proyecto y assets
  • assets-copy - Copia el asset en la ruta indicada y lo almacena en la nueva ruta
  • assets-create-folder - Crea una nueva carpeta en la carpeta padre especificada
  • assets-delete - Elimina los assets en las rutas indicadas del proyecto
  • assets-find - Busca en la base de datos de assets usando la cadena de filtro de búsqueda
  • assets-find-built-in - Busca los assets integrados del Unity Editor
  • assets-get-data - Obtiene datos del asset incluyendo todos los campos y propiedades serializables
  • assets-material-create - Crea un nuevo asset de material con parámetros predeterminados
  • assets-modify - Modifica un archivo de asset en el proyecto
  • assets-move - Mueve los assets en las rutas del proyecto (también se usa para renombrar)
  • assets-prefab-close - Cierra el prefab abierto actualmente
  • assets-prefab-create - Crea un prefab a partir de un GameObject en la escena activa actual
  • assets-prefab-instantiate - Instancia un prefab en la escena activa actual
  • assets-prefab-open - Abre el modo de edición de prefab para un GameObject específico
  • assets-prefab-save - Guarda un prefab en modo de edición de prefab
  • assets-refresh - Actualiza el AssetDatabase
  • assets-shader-get-data - Obtiene datos detallados sobre un asset de shader (propiedades, subshaders, pasadas)
  • assets-shader-list-all - Lista todos los shaders disponibles en los assets del proyecto y paquetes
  • package-add - Instala un paquete del registro de Unity Package Manager, URL de Git o ruta local
  • package-list - Lista todos los paquetes instalados en el proyecto de Unity (paquetes UPM)
  • package-remove - Elimina (desinstala) un paquete del proyecto de Unity
  • package-search - Busca paquetes tanto en el registro de Unity Package Manager como en los paquetes instalados
Escena y jerarquía
  • gameobject-component-add - Añade un Component a un GameObject
  • gameobject-component-destroy - Destruye uno o varios componentes del GameObject objetivo
  • gameobject-component-get - Obtiene información detallada sobre un Component específico de un GameObject
  • gameobject-component-list-all - Lista los nombres de clases C# que extienden de UnityEngine.Component
  • gameobject-component-modify - Modifica un Component específico de un GameObject
  • gameobject-create - Crea un nuevo GameObject en un Prefab abierto o en una escena
  • gameobject-destroy - Destruye un GameObject y todos los GameObjects anidados recursivamente
  • gameobject-duplicate - Duplica GameObjects en un Prefab abierto o en una escena
  • gameobject-find - Encuentra un GameObject específico por la información proporcionada
  • gameobject-modify - Modifica GameObjects y/o los campos y propiedades de los componentes adjuntos
  • gameobject-set-parent - Establece el GameObject padre para una lista de GameObjects
  • object-get-data - Obtiene datos del Unity Object especificado
  • object-modify - Modifica el Unity Object especificado
  • scene-create - Crea una nueva escena en los assets del proyecto
  • scene-get-data - Recupera la lista de GameObjects raíz en la escena especificada
  • scene-list-opened - Devuelve la lista de escenas abiertas actualmente en Unity Editor
  • scene-open - Abre una escena desde el archivo de asset del proyecto
  • scene-save - Guarda la escena abierta en el archivo de asset
  • scene-set-active - Establece la escena abierta especificada como la escena activa
  • scene-unload - Descarga una escena de las escenas abiertas en Unity Editor
  • screenshot-camera - Captura una captura de pantalla desde una cámara y la devuelve como imagen
  • screenshot-game-view - Captura una captura de pantalla de la vista de juego del Unity Editor
  • screenshot-isolated - Renderiza un GameObject de forma aislada desde un ángulo elegido (vista compuesta 2x2 opcional)
  • screenshot-scene-view - Captura una captura de pantalla de la vista de escena del Unity Editor
Scripting y Editor
  • console-clear-logs - Limpia la caché de registros de MCP y la ventana de Consola del Unity Editor
  • console-get-logs - Recupera los registros del Unity Editor con opciones de filtrado
  • editor-application-get-state - Devuelve información sobre el estado de la aplicación Unity Editor (modo de juego, pausado, compilación)
  • editor-application-set-state - Controla el estado de la aplicación Unity Editor (iniciar/detener/pausar modo de juego)
  • editor-selection-get - Obtiene información sobre la selección actual en Unity Editor
  • editor-selection-set - Establece la selección actual en Unity Editor
  • reflection-method-call - Llama a cualquier método C# con parámetros de entrada y devuelve resultados
  • reflection-method-find - Encuentra métodos en el proyecto usando C# Reflection (incluso métodos privados)
  • script-delete - Elimina el/los archivo(s) de script
  • script-execute - Compila y ejecuta código C# dinámicamente usando Roslyn
  • script-read - Lee el contenido de un archivo de script
  • script-update-or-create - Actualiza o crea un archivo de script con el código C# proporcionado
  • tests-run - Ejecuta pruebas de Unity (EditMode/PlayMode) con filtrado y resultados detallados
  • type-get-json-schema - Genera un JSON Schema para un tipo C# mediante reflexión
Profiling y diagnóstico
  • profiler-capture-frame - Captura la información de tiempos del frame actual (delta time, FPS, conteo de frames)
  • profiler-clear-data - Descarta todos los frames que mantiene actualmente el Profiler del Editor
  • profiler-enable-module - Alterna el indicador local de activación de un módulo de profiler con nombre
  • profiler-get-memory-stats - Devuelve una instantánea de estadísticas de memoria (reservada, asignada, mono heap, gráficos)
  • profiler-get-rendering-stats - Devuelve tiempos de frame, FPS, vsync, frame rate objetivo, tipo de dispositivo gráfico
  • profiler-get-script-stats - Devuelve los tiempos de ejecución de scripts más el uso de memoria Mono / GC
  • profiler-get-status - Devuelve el estado de activación del profiler, módulos activos y soporte de plataforma
  • profiler-list-modules - Lista todos los nombres de módulos de profiler conocidos con su indicador de activación
  • profiler-load-data - Lee de vuelta una instantánea JSON del profiler guardada previamente
  • profiler-save-data - Guarda una instantánea de estadísticas derivadas del profiler en un archivo JSON
  • profiler-start - Activa el profiler en runtime de Unity y abre la ventana del Profiler
  • profiler-stop - Desactiva el profiler en runtime de Unity

Instalar skills y herramientas adicionales

Instala extensiones cuando necesites más herramientas o crea tus propias herramientas.

ExtensiónDescripción
AI AnimationConjunto de herramientas adicionales para animaciones de Unity
AI CinemachineHerramientas MCP para Cinemachine
AI InputSystemHerramientas MCP para el Input System de Unity
AI NavigationHerramientas MCP para AI Navigation (superficies NavMesh, horneado, agentes y enlaces)
AI ParticleSystemConjunto de herramientas adicionales para el sistema de partículas de Unity
AI ProBuilderConjunto de herramientas adicionales para Unity ProBuilder
AI SplinesHerramientas MCP para Unity Splines
AI TerrainConjunto de herramientas adicionales para el Terreno de Unity
AI TilemapHerramientas MCP para Tilemaps 2D de Unity
AI TimelineHerramientas MCP para escenas y secuencias de Unity Timeline

AI Game Developer — Unity SKILLS and MCP

Contenidos

Más documentación

DocumentoDescripción
Herramientas MCP predeterminadasReferencia completa de todas las herramientas integradas con descripciones
Configuración del MCP ServerConfiguración del servidor, variables de entorno, hosting remoto
Despliegue con DockerGuía paso a paso para despliegue con Docker
Guía de desarrolloArquitectura, estilo de código, CI/CD — para contribuidores
WikiPrimeros pasos, tutoriales, referencia de API, preguntas frecuentes
Herramienta CLIInstalar plugins, configurar y conectar por línea de comandos

AI Game Developer — Unity SKILLS and MCP

Instalación

Paso 1: Instalar Unity MCP Plugin

⚠️ Requisitos (clic)

Important

La ruta del proyecto no puede contener espacios

  • C:/MyProjects/MyProject
  • C:/My Projects/MyProject
  • C:/My Projects/My Project
  • C:/MyProjects/My Project

Opción 1 - Instalador

  • ⬇️ Descargar instalador
  • 📂 Importar el instalador en el proyecto de Unity
    • Puedes hacer doble clic en el archivo - Unity lo abrirá automáticamente
    • O bien: Abre Unity Editor primero, luego haz clic en Assets/Import Package/Custom Package y elige el archivo

Opción 2 - CLI (recomendado)

Instala el plugin mediante unity-mcp-cli — no se necesita Unity Editor:

# 1.1 Instalar unity-mcp-cli                                  #  ┌────────────────────┐
npm install -g unity-mcp-cli                               #  │ Available AI agent │
                                                           #  ├────────────────────┤
# 1.2 (Opcional) Instalar Unity                               #  │ antigravity        │
unity-mcp-cli install-unity                                #  │ claude-code        │
                                                           #  │ claude-desktop     │
# 1.3 (Opcional) Crear proyecto de Unity                   #  │ cline              │
unity-mcp-cli create-project ./MyUnityProject              #  │ codex              │
                                                           #  │ cursor             │
# 2. Instalar "AI Game Developer" en el proyecto de Unity  #  │ gemini             │
unity-mcp-cli install-plugin ./MyUnityProject              #  │ github-copilot-cli │
                                                           #  │ kilo-code          │
# 3. Iniciar sesión en el servidor cloud                   #  │ open-code          │
unity-mcp-cli login ./MyUnityProject                       #  │ rider-junie        │
                                                           #  │ unity-ai           │
# 4. Abrir proyecto (auto-conecta y genera skills)         #  │ vs-copilot         │
unity-mcp-cli open ./MyUnityProject                        #  │ vscode-copilot     │
                                                           #  └────────────────────┘
# 5. Esperar a que Unity Editor esté listo
unity-mcp-cli wait-for-ready ./MyUnityProject

Consulta la documentación completa de la CLI para ver todos los comandos disponibles.

Paso 2: Instalar agente de IA

Elige un solo agente de IA de tu preferencia - no necesitas instalar todos. Este será tu ventana de chat principal para comunicarte con el LLM.

AI Game Developer es bastante universal, por lo que puedes usar cualquier agente de IA que prefieras - funcionará igual de bien que cualquier otro. El único requisito importante es que el agente de IA debe soportar Skills o actualizaciones dinámicas de MCP Tool.

Paso 3: Configurar agente de IA

Configuración automática

  • Abre el proyecto de Unity
  • Abre Window/AI Game Developer
  • Opción 1: Haz clic en Auto-generate Skills (recomendado)
  • Opción 2: Haz clic en Configure Model Context Protocol (MCP)

Unity_AI

Si tu cliente MCP no está en la lista, usa el JSON sin procesar que se muestra en la ventana para inyectarlo en tu cliente MCP. Lee las instrucciones de tu cliente MCP específico sobre cómo hacerlo.

Configuración manual

Si la configuración automática no funciona por cualquier motivo, usa el JSON de la ventana AI Game Developer (Unity-MCP) para configurar cualquier MCP Client manualmente.

Configuración por línea de comandos

Crear command

1. Elige tu <command> para tu entorno

Plataforma<command>
Windows x64"<unityProjectPath>/Library/mcp-server/win-x64/unity-mcp-server.exe" port=<port> client-transport=stdio
Windows x86"<unityProjectPath>/Library/mcp-server/win-x86/unity-mcp-server.exe" port=<port> client-transport=stdio
Windows arm64"<unityProjectPath>/Library/mcp-server/win-arm64/unity-mcp-server.exe" port=<port> client-transport=stdio
MacOS Apple-Silicon"<unityProjectPath>/Library/mcp-server/osx-arm64/unity-mcp-server" port=<port> client-transport=stdio
MacOS Apple-Intel"<unityProjectPath>/Library/mcp-server/osx-x64/unity-mcp-server" port=<port> client-transport=stdio
Linux x64"<unityProjectPath>/Library/mcp-server/linux-x64/unity-mcp-server" port=<port> client-transport=stdio
Linux arm64"<unityProjectPath>/Library/mcp-server/linux-arm64/unity-mcp-server" port=<port> client-transport=stdio

2. Reemplaza <unityProjectPath> con la ruta completa al proyecto de Unity

3. Reemplaza <port> con tu puerto de la configuración de AI Game Developer

4. Añade el servidor MCP usando la línea de comandos

Gemini CLI Gemini CLI
gemini mcp add ai-game-developer <command>

Reemplaza <command> de la tabla anterior

Claude Code CLI Claude Code CLI
claude mcp add ai-game-developer <command>

Reemplaza <command> de la tabla anterior

GitHub Copilot CLI GitHub Copilot CLI
copilot
/mcp add

Nombre del servidor: ai-game-developer Tipo de servidor: local Comando: <command>

Reemplaza <command> de la tabla anterior

AI Game Developer — Unity SKILLS and MCP

Ejemplos de flujo de trabajo con IA

Comunícate con la IA (LLM) en tu agente de IA. Pídele que haga lo que quieras. Cuanto mejor describas tu tarea o idea, mejor realizará el trabajo.

Algunos agentes de IA permiten elegir diferentes modelos LLM. Presta atención a esta función, ya que algunos modelos pueden funcionar mucho mejor que otros.

Ejemplos de prompts:

Explain my scene hierarchy
Create 3 spheres on top of each other
Create metallic golden material and attach it to a new sphere gameObject

Asegúrate de que el modo Agent esté activado si usas VS Code con Copilot

Desactivar las notificaciones de actualización para todo el equipo

El plugin muestra una ventana emergente de actualización al iniciar el Editor cuando hay una versión nueva disponible en OpenUPM. Por defecto, cada miembro del equipo ve esta ventana hasta que pulsa "No volver a mostrar" (que es una configuración por usuario almacenada en su máquina).

En proyectos Unity con varios miembros, donde un ingeniero gestiona las versiones del plugin, puedes desactivar la ventana emergente para todo el equipo abriendo Edit ▸ Project Settings ▸ AI Game Developer y activando "Disable update notifications for the entire team". El ajuste se guarda en ProjectSettings/AI-Game-Developer-UpdateSettings.asset y solo debe configurarse una vez por proyecto — al confirmar (commit) ese archivo, todos los miembros del equipo que descarguen el commit verán la ventana suprimida.

El mismo conmutador también está disponible en Tools ▸ AI Game Developer ▸ Updates ▸ Disable Update Notifications (Team) en la barra de menús.

Funcionalidades avanzadas para LLM

Unity MCP proporciona herramientas avanzadas que permiten al LLM trabajar de forma más rápida y efectiva, evitando errores y autocorrigiéndose cuando ocurren. Todo está diseñado para alcanzar tus objetivos de manera eficiente.

Capacidades principales

  • ✔️ Herramientas listas para agentes - Encuentra cualquier cosa que necesites en 1-2 pasos
  • ✔️ Compilación instantánea - Compilación y ejecución de código C# usando Roslyn para iteraciones más rápidas
  • ✔️ Acceso completo a assets - Acceso de lectura/escritura a assets y scripts C#
  • ✔️ Retroalimentación inteligente - Retroalimentación positiva y negativa bien descrita para una correcta comprensión de los problemas

Funcionalidades impulsadas por Reflection

  • ✔️ Referencias a objetos - Proporciona referencias a objetos existentes para código C# instantáneo
  • ✔️ Acceso a datos del proyecto - Obtén acceso completo a todos los datos del proyecto en un formato legible
  • ✔️ Modificaciones granulares - Rellena y modifica cualquier dato del proyecto
  • ✔️ Descubrimiento de métodos - Encuentra cualquier método en todo el código base, incluyendo archivos DLL compilados
  • ✔️ Ejecución de métodos - Llama a cualquier método en todo el código base
  • ✔️ Parámetros avanzados - Proporciona cualquier propiedad para llamadas a métodos, incluso referencias a objetos existentes en memoria
  • ✔️ API de Unity en vivo - API de Unity disponible al instante - incluso cuando Unity cambia, obtienes la API actualizada
  • ✔️ Auto-documentado - Accede a descripciones legibles de cualquier class, method o property mediante atributos Description

AI Game Developer — Unity SKILLS and MCP

Personalizar herramientas

Unity MCP soporta el desarrollo personalizado de MCP Tool, MCP Resource y MCP Prompt por parte de los propietarios del proyecto. El servidor MCP toma datos del Unity MCP Plugin y los expone al cliente. Cualquier participante en la cadena de comunicación MCP recibirá información sobre las nuevas funcionalidades MCP, que el LLM puede decidir utilizar en algún momento.

Añadir Tool personalizada

Para añadir una Tool personalizada, necesitas:

  1. Una clase con el atributo AiToolType
  2. Un método en la clase con el atributo AiTool
  3. Opcional: Añadir un atributo Description a cada argumento del método para ayudar al LLM a comprenderlo
  4. Opcional: Usar propiedades string? optional = null con ? y valores predeterminados para marcarlas como optional para el LLM

Ten en cuenta que la línea MainThread.Instance.Run(() => te permite ejecutar código en el hilo principal, lo cual es necesario para interactuar con la API de Unity. Si no necesitas esto y ejecutar la herramienta en un hilo secundario es aceptable, evita usar el hilo principal por razones de eficiencia.

[AiToolType]
public class Tool_GameObject
{
    [AiTool
    (
        "MyCustomTask",
        Title = "Create a new GameObject"
    )]
    [Description("Explain here to LLM what is this, when it should be called.")]
    public string CustomTask
    (
        [Description("Explain to LLM what is this.")]
        string inputData
    )
    {
        // do anything in background thread

        return MainThread.Instance.Run(() =>
        {
            // do something in main thread if needed

            return $"[Success] Operation completed.";
        });
    }
}

Añadir MCP Prompt personalizado

MCP Prompt te permite inyectar prompts personalizados en la conversación con el LLM. Soporta dos roles de emisor: User y Assistant. Es una forma rápida de instruir al LLM para que realice tareas específicas. Puedes generar prompts usando datos personalizados, proporcionando listas o cualquier otra información relevante.

[AiPromptType]
public static class Prompt_ScriptingCode
{
    [AiPrompt(Name = "add-event-system", Role = Role.User)]
    [Description("Implement UnityEvent-based communication system between GameObjects.")]
    public string AddEventSystem()
    {
        return "Create event system using UnityEvents, UnityActions, or custom event delegates for decoupled communication between game systems and components.";
    }
}

AI Game Developer — Unity SKILLS and MCP

Uso en Runtime (en el juego)

Usa Unity MCP en tu juego/aplicación. Utiliza Tools, Resources o Prompts. Por defecto no hay herramientas disponibles, necesitarás implementar las tuyas propias.

// Build MCP plugin
var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
    {
        builder.WithConfig(config =>
        {
            config.Host = "http://localhost:8080";
            config.Token = "your-token";
        });
        // Automatically register all tools from the current assembly
        builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
    })
    .Build();

await mcpPlugin.Connect(); // Start active connection with retry to Unity-MCP-Server

await mcpPlugin.Disconnect(); // Stop active connection and close existed connection

Ejemplo: Bot de ajedrez impulsado por IA

Tenemos un juego de ajedrez clásico. Vamos a externalizar al LLM la lógica del bot. El bot debe hacer su turno siguiendo las reglas del juego.

[AiToolType]
public static class ChessGameAI
{
    [AiTool("chess-do-turn", Title = "Do the turn")]
    [Description("Do the turn in the chess game. Returns true if the turn was accepted, false otherwise.")]
    public static Task<bool> DoTurn(int figureId, Vector2Int position)
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.DoTurn(figureId, position));
    }

    [AiTool("chess-get-board", Title = "Get the board")]
    [Description("Get the current state of the chess board.")]
    public static Task<BoardData> GetBoard()
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.GetBoardData());
    }
}

¿Por qué se necesita el uso en Runtime?

Hay muchos casos de uso. Imagina que estás trabajando en un juego de ajedrez con un bot. Puedes externalizar la toma de decisiones del bot al LLM escribiendo unas pocas líneas de código.

AI Game Developer — Unity SKILLS and MCP

Configuración del MCP Server de Unity

El servidor de Unity MCP soporta muchas opciones de ejecución diferentes y despliegue con Docker. Ambos protocolos de transporte son compatibles: streamableHttp y stdio. Si necesitas personalizar o desplegar Unity MCP Server en la nube, esta sección es para ti. Leer más...

Variables

Independientemente de la opción de ejecución que elijas, todas soportan configuración personalizada usando tanto variables de entorno como argumentos de línea de comandos. Funcionará con los valores predeterminados, así que si solo necesitas ejecutarlo, no pierdas tiempo con las variables. Solo asegúrate de que el Unity Plugin también tenga valores predeterminados, especialmente el --port, que deben ser iguales.

Variable de entornoArgs de línea de comandosDescripción
MCP_PLUGIN_PORT--portPuerto de conexión Client -> Server <- Plugin (por defecto: 8080)
MCP_PLUGIN_CLIENT_TIMEOUT--plugin-timeoutTiempo de espera de conexión Plugin -> Server (ms) (por defecto: 10000)
MCP_PLUGIN_CLIENT_TRANSPORT--client-transportTipo de transporte Client -> Server: stdio o streamableHttp (por defecto: streamableHttp)
MCP_AUTHORIZATION--authorizationModo de autenticación para conexiones entrantes del Client: none o required (por defecto: none)
MCP_PLUGIN_TOKEN--tokenToken Bearer requerido del Client cuando --authorization=required (por defecto: sin definir)
MCP_PLUGIN_IDLE_TIMEOUT_SECONDS--idle-timeout-secondsApaga el servidor tras estos segundos sin conexiones (por defecto: 600)

Los argumentos de línea de comandos también soportan la opción con un solo prefijo - (-port) y la opción sin prefijo (port).

Para las variables de webhook de analítica y autorización (MCP_PLUGIN_WEBHOOK_*), consulta docs/mcp-server.md.

Elegir un transporte: Usa stdio cuando el cliente MCP ejecuta el binario del servidor directamente (uso local — esta es la configuración más común). Usa streamableHttp cuando ejecutes el servidor como un proceso independiente o en Docker/nube, y te conectes por HTTP.

Variables del Plugin

El Unity MCP Plugin lee las siguientes variables de entorno (y argumentos de línea de comandos) al iniciar para sobrescribir los valores del archivo de configuración guardado. Las sobrescrituras se aplican en tiempo de ejecución; en la primera ejecución o cuando se genera un nuevo token de autenticación, los valores sobrescritos se guardan en el archivo de configuración. En ejecuciones posteriores, las sobrescrituras se aplican en memoria pero no se guardan automáticamente. La excepción es UNITY_MCP_TOOLS, que usa [JsonIgnore] y nunca se persiste — es solo para tiempo de ejecución.

Variable de entornoArg de línea de comandosValoresDescripción
UNITY_MCP_CLOUD_URL-urlURL stringSobrescribe la URL del MCP Server (UNITY_MCP_HOST es un alias heredado)
UNITY_MCP_CONNECTION_MODE-UNITY_MCP_CONNECTION_MODECloud / CustomFuerza el modo de conexión (una URL loopback implica Custom)
UNITY_MCP_KEEP_CONNECTED-UNITY_MCP_KEEP_CONNECTEDtrue / falseFuerza activar o desactivar la conexión activa
UNITY_MCP_AUTH_OPTION-authnone / requiredFuerza el modo de autenticación
UNITY_MCP_TOKEN-tokenstringFuerza el token de autenticación
UNITY_MCP_TRANSPORT-UNITY_MCP_TRANSPORTstdio / streamableHttpFuerza el transporte de cliente que configura el plugin
UNITY_MCP_START_SERVER-UNITY_MCP_START_SERVERtrue / falseFuerza si el plugin mantiene un proceso de servidor local en ejecución
UNITY_MCP_TOOLS-UNITY_MCP_TOOLSIDs de herramientas separados por comasHabilita solo las herramientas listadas; todas las demás se desactivan. Los IDs desconocidos se registran como errores.

Los argumentos de línea de comandos tienen prioridad sobre las variables de entorno. Ambos sobrescriben el valor del archivo de configuración guardado. Las banderas cortas -url, -token y -auth son alias; los nombres de argumento completos -UNITY_MCP_* también se aceptan.

Ejemplo (modo batch CI/CD):

Unity.exe -batchmode -nographics \
  -UNITY_MCP_HOST=http://localhost:8080 \
  -UNITY_MCP_KEEP_CONNECTED=true \
  -UNITY_MCP_AUTH_OPTION=required \
  -UNITY_MCP_TOKEN=my-secret-token

Docker 📦

Docker Image

Asegúrate de que Docker esté instalado. Y por favor verifica que Docker Desktop esté ejecutándose si estás en un sistema operativo Windows.

Lee las instrucciones avanzadas de configuración de Docker.

Transporte streamableHttp

docker run -p 8080:8080 ivanmurzakdev/unity-mcp-server
Configuración del MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:8080"
    }
  }
}

Reemplaza url con tu endpoint real si está alojado en la nube.

Transporte stdio

Para usar esta variante, el MCP Client debe ejecutar el MCP Server en Docker. Esto se logra mediante la configuración modificada del MCP Client.

docker run -t -e MCP_PLUGIN_CLIENT_TRANSPORT=stdio -p 8080:8080 ivanmurzakdev/unity-mcp-server
Configuración del MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "command": "docker",
      "args": [
        "run",
        "-t",
        "-e",
        "MCP_PLUGIN_CLIENT_TRANSPORT=stdio",
        "-p",
        "8080:8080",
        "ivanmurzakdev/unity-mcp-server"
      ]
    }
  }
}

port personalizado

docker run -e MCP_PLUGIN_PORT=123 -p 123:123 ivanmurzakdev/unity-mcp-server
Configuración del MCP Client:
{
  "mcpServers": {
    "ai-game-developer": {
      "url": "http://localhost:123"
    }
  }
}

Reemplaza url con tu endpoint real si está alojado en la nube

Ejecutable binario

Puedes ejecutar el MCP Server de Unity directamente desde un archivo binario. Necesitarás tener un binario compilado específicamente para la arquitectura de tu CPU. Consulta la página de releases en GitHub, que contiene binarios precompilados para todas las arquitecturas de CPU.

./unity-mcp-server --port 8080 --plugin-timeout 10000 --client-transport stdio
Configuración del MCP Client:

Reemplaza <project> con la ruta de tu proyecto de Unity.

{
  "mcpServers": {
    "ai-game-developer": {
      "command": "<project>/Library/mcp-server/win-x64/unity-mcp-server.exe",
      "args": [
        "--port=8080",
        "--plugin-timeout=10000",
        "--client-transport=stdio"
      ]
    }
  }
}

AI Game Developer — Unity SKILLS and MCP

Cómo funciona la arquitectura de Unity MCP

Unity MCP sirve como puente entre los LLMs y Unity. Expone y explica las herramientas de Unity al LLM, que luego comprende la interfaz y utiliza las herramientas según las solicitudes del usuario.

Conecta Unity MCP a clientes LLM como Claude o Cursor usando la ventana integrada AI Connector. También se soportan clientes personalizados.

El sistema es altamente extensible - puedes definir MCP Tools, MCP Resource o MCP Prompt personalizados directamente en el código de tu proyecto de Unity, exponiendo nuevas capacidades a clientes de IA o automatización. Esto convierte a Unity MCP en una base flexible para construir flujos de trabajo avanzados, prototipado rápido e integración de funcionalidades impulsadas por IA en tu proceso de desarrollo.

¿Qué es MCP?

MCP - Model Context Protocol. En pocas palabras, es el USB Type-C para la IA, específicamente para LLM (Large Language Model). Enseña al LLM cómo usar funcionalidades externas. Como Unity Engine en este caso, o incluso tu método C# personalizado en tu código. Documentación oficial.

¿Qué es un agente de IA?

Es una aplicación con una ventana de chat. Puede tener agentes inteligentes para operar mejor, puede tener herramientas MCP avanzadas integradas. En general, un MCP Client bien hecho es el 50% del éxito de la IA al ejecutar una tarea. Por eso es muy importante elegir el mejor para su uso.

¿Qué es el MCP Server?

Es un puente entre el MCP Client y "algo más", en este caso particular es Unity Engine. Este proyecto incluye el MCP Server.

¿Qué es un MCP Tool?

MCP Tool es una función o método que el LLM puede llamar para interactuar con Unity. Estas herramientas actúan como puente entre las solicitudes en lenguaje natural y las operaciones reales de Unity. Cuando le pides a la IA que "cree un cubo" o "cambie el color del material", usa MCP Tools para ejecutar esas acciones.

Características clave:

  • Funciones ejecutables que realizan operaciones específicas
  • Parámetros tipados con descripciones para ayudar al LLM a entender qué datos proporcionar
  • Valores de retorno que dan retroalimentación sobre el éxito o fracaso de la operación
  • Consciente de hilos - puede ejecutarse en el hilo principal para llamadas a la API de Unity o en un hilo secundario para procesamiento pesado

Cuándo usar un Tool

  • Automatizar tareas repetitivas - Crea herramientas para operaciones comunes que realizas frecuentemente
  • Operaciones complejas - Agrupa múltiples llamadas a la API de Unity en una sola herramienta fácil de usar
  • Flujos de trabajo específicos del proyecto - Construye herramientas que entiendan la estructura y convenciones específicas de tu proyecto
  • Tareas propensas a errores - Crea herramientas que incluyan validación y manejo de errores
  • Lógica de juego personalizada - Expón los sistemas de tu juego a la IA para creación dinámica de contenido

Ejemplos:

  • Crear y configurar GameObjects con componentes específicos
  • Procesamiento por lotes de assets (texturas, materiales, prefabs)
  • Configurar iluminación y efectos de post-procesamiento
  • Generar geometría de niveles o colocar objetos proceduralmente
  • Configurar ajustes de física o capas de colisión

¿Qué es un MCP Resource?

MCP Resource proporciona acceso de solo lectura a datos dentro de tu proyecto de Unity. A diferencia de los MCP Tools que realizan acciones, los Resources permiten al LLM inspeccionar y comprender el estado actual de tu proyecto, assets y configuración. Piensa en ellos como "sensores" que dan contexto a la IA sobre tu proyecto.

Características clave:

  • Acceso de solo lectura a datos del proyecto y objetos de Unity
  • Información estructurada presentada en un formato que el LLM puede entender
  • Datos en tiempo real que reflejan el estado actual de tu proyecto
  • Consciencia contextual que ayuda a la IA a tomar decisiones informadas

Cuándo usar un MCP Resource

  • Análisis del proyecto - Permite que la IA comprenda la estructura, assets y organización de tu proyecto
  • Asistencia en depuración - Proporciona información del estado actual para resolución de problemas
  • Sugerencias inteligentes - Dale contexto a la IA para hacer mejores recomendaciones
  • Generación de documentación - Crea documentación automáticamente basada en el estado del proyecto
  • Gestión de assets - Ayuda a la IA a entender qué assets están disponibles y sus propiedades

Ejemplos:

  • Exponer la jerarquía de la escena y propiedades de GameObjects
  • Listar materiales, texturas disponibles y sus configuraciones
  • Mostrar dependencias de scripts y relaciones entre componentes
  • Mostrar la configuración actual de iluminación y pipeline de renderizado
  • Proporcionar información sobre fuentes de audio, animaciones y sistemas de partículas

¿Qué es un MCP Prompt?

MCP Prompt te permite inyectar prompts predefinidos en la conversación con el LLM. Son plantillas inteligentes que pueden proporcionar contexto, instrucciones o conocimiento para guiar el comportamiento de la IA. Los prompts pueden ser texto estático o generados dinámicamente basándose en el estado actual de tu proyecto.

Características clave:

  • Guía contextual que influye en cómo responde la IA
  • Basado en roles - puede simular diferentes personas (solicitudes de usuario o conocimiento del asistente)
  • Contenido dinámico - puede incluir datos del proyecto en tiempo real
  • Plantillas reutilizables para escenarios y flujos de trabajo comunes

Cuándo usar un MCP Prompt

  • Proporcionar conocimiento del dominio - Comparte mejores prácticas y estándares de código específicos de tu proyecto
  • Establecer convenciones de código - Define convenciones de nomenclatura, patrones de arquitectura y estilo de código
  • Dar contexto sobre la estructura del proyecto - Explica cómo está organizado tu proyecto y por qué
  • Compartir instrucciones de flujo de trabajo - Proporciona procedimientos paso a paso para tareas comunes
  • Inyectar conocimiento especializado - Añade información sobre funcionalidades específicas de Unity, assets de terceros o sistemas personalizados

Ejemplos:

  • "Siempre usa PascalCase para métodos públicos y camelCase para campos privados"
  • "Este proyecto usa un sistema de eventos personalizado ubicado en Scripts/Events/"
  • "Al crear elementos de UI, siempre añádelos al Canvas en Scene/UI/MainCanvas"
  • "El rendimiento es crítico - prefiere el object pooling para objetos que se instancian frecuentemente"
  • "Este proyecto sigue los principios SOLID - explica cualquier decisión arquitectónica"

AI Game Developer — Unity SKILLS and MCP

Contribución 💙💛

Las contribuciones son muy apreciadas. ¡Trae tus ideas y hagamos que el desarrollo de juegos sea más simple que nunca! ¿Tienes una idea para una nueva Tool o funcionalidad, o encontraste un bug y sabes cómo solucionarlo?

¡Por favor dale una estrella 🌟 a este proyecto si te resulta útil!

  1. 👉 Lee la documentación de desarrollo
  2. 👉 Haz un fork del proyecto
  3. Clona el fork y abre la carpeta ./Unity-MCP-Plugin en Unity
  4. Implementa cosas nuevas en el proyecto, haz commit y push a GitHub
  5. Crea un Pull Request apuntando al repositorio original Unity-MCP, rama main.

AI Game Developer — Unity SKILLS and MCP