Esta página se tradujo automáticamente del inglés. Lee el original en inglés.

Referencia de unity-mcp-cli

Referencia de comandos de unity-mcp-cli: instala Unity MCP, inicia sesión, configura agentes de IA y ejecuta herramientas y C# desde la terminal.

Actualizado el 4 de noviembre de 2026 Ver como Markdown

unity-mcp-cli es la herramienta de línea de comandos para Unity MCP. Instala Unity y el plugin, inicia tu sesión en ai-game.dev, escribe configuraciones de agentes de IA, abre y cierra el Editor, y llama a herramientas MCP o ejecuta C# en el Editor desde una terminal o un script de CI. Esta página enumera todos los comandos y flags de la versión 1.6.2.

Instalación

npm install -g unity-mcp-cli

O ejecuta cualquier comando sin instalarlo: npx unity-mcp-cli <command>. Requiere Node.js ^20.19.0 o >=22.12.0 y funciona en Windows, macOS y Linux. Los comandos que gestionan editores usan la CLI de Unity Hub; si falta Unity Hub, la CLI lo instala.

Opciones globales, disponibles en todos los comandos:

OpciónDescripción
-v, --verboseSalida de diagnóstico detallada
-V, --versionMuestra la versión de la CLI
--helpAyuda del comando

En una terminal no interactiva (CI), la CLI desactiva automáticamente los spinners y los colores. La mayoría de los comandos que aceptan una ruta de proyecto la reciben como argumento posicional o como --path, y usan por defecto la carpeta actual.

Una sesión típica

unity-mcp-cli install-plugin ./MyGame
unity-mcp-cli login
unity-mcp-cli setup-mcp claude-code ./MyGame
unity-mcp-cli open ./MyGame
unity-mcp-cli wait-for-ready ./MyGame
unity-mcp-cli run-tool tests-run ./MyGame --input '{"testMode":"EditMode"}'
unity-mcp-cli close ./MyGame

Comandos de configuración del proyecto

install-unity

Instala un Editor de Unity a través de Unity Hub. Sin argumentos, instala la última versión estable.

Argumento / opciónDescripción
[version]Versión del Editor, por ejemplo 6000.3.1f1
--path <path>Lee la versión requerida de un proyecto existente

create-project

Crea un nuevo proyecto de Unity con el Editor: unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1.

Argumento / opciónDescripción
[path]Dónde crear el proyecto (obligatorio, o --path)
--unity <version>Versión del Editor (por defecto: la más alta instalada)

install-plugin

Añade el registro con ámbito de OpenUPM y com.ivanmurzak.unity.mcp a Packages/manifest.json. Nunca degrada una versión instalada superior. La carpeta debe ser un proyecto de Unity.

OpciónDescripción
[path]Proyecto de Unity (por defecto: la carpeta actual)
--plugin-version <version>Versión a instalar (por defecto: la última en OpenUPM)
--with-serverDescarga también el binario gamedev-mcp-server para esta máquina en la carpeta propia de la CLI
--server-version <version>Versión del servidor para --with-server
--server-source <path-or-url>Instala el servidor desde un zip local o una URL (offline o CI; omite la verificación de checksum)
--enroll <code>Canjea un código de inscripción de equipo por una credencial del plugin vinculada a este proyecto
--enroll-stdinLee el código de inscripción desde stdin, manteniéndolo fuera del historial del shell
--yesConfirma las preguntas, como un cambio de cuenta durante --enroll

install-extension

Instala una extensión oficial en Packages/manifest.json. Consulta Extensions.

Argumento / opciónDescripción
[id]Nombre del catálogo (Tilemap) o id del paquete (com.ivanmurzak.unity.mcp.tilemap)
[path]Proyecto de Unity (por defecto: la carpeta actual)
--extension-version <version>Versión a instalar (por defecto: la última en OpenUPM)
--listLista las extensiones instalables y sale (no requiere proyecto ni red)

remove-plugin

Elimina com.ivanmurzak.unity.mcp de Packages/manifest.json y conserva los registros con ámbito. Acepta [path] (obligatorio, o --path).

configure

Muestra u oculta herramientas, prompts y recursos en UserSettings/AI-Game-Developer-Config.json. Un elemento oculto se sigue ejecutando cuando se llama por su nombre.

OpciónDescripción
[path]Proyecto de Unity (obligatorio, o --path)
--listMuestra la configuración actual y sale
--enable-tools <names>, --disable-tools <names>Muestra u oculta herramientas concretas (separadas por comas)
--enable-all-tools, --disable-all-toolsMuestra u oculta todas las herramientas
--enable-prompts <names>, --disable-prompts <names>Lo mismo para los prompts
--enable-all-prompts, --disable-all-promptsTodos los prompts
--enable-resources <names>, --disable-resources <names>Lo mismo para los recursos
--enable-all-resources, --disable-all-resourcesTodos los recursos
--agent <id>Escribe en su lugar una configuración de agente de IA mediante el configurador del servidor gestionado
--url <url>URL del servidor que se pasa junto con --agent

bootstrap-local

Fija la configuración de un proyecto en modo Custom (local) con una URL de servidor y un token determinados. Idempotente.

OpciónDescripción
[path]Proyecto de Unity (por defecto: la carpeta actual)
--url <url>URL del servidor MCP local (obligatorio)
--token <token>Token bearer local (obligatorio)
--dry-runInforma de lo que cambiaría sin escribir nada

Comandos de inicio de sesión y de agentes de IA

login

Inicia sesión en ai-game.dev con el flujo de dispositivo OAuth del navegador y guarda la credencial en ~/.ai-game-dev/credentials.json. El plugin del Editor y la aplicación de escritorio usan la misma credencial. Si ya has iniciado sesión, termina de inmediato.

OpciónDescripción
--project <path>Guarda la credencial en <path>/.ai-game-dev/ en lugar del almacén de la máquina
--forceVuelve a iniciar sesión aunque ya exista una credencial
--tools-onlyAutoriza solo las herramientas del motor, para runners de CI; no se guarda ninguna credencial de agente
--yesConfirma un cambio de cuenta sin preguntar

setup-mcp

Escribe la configuración MCP de un agente de IA, la misma salida que Configure en la ventana del Editor. De forma predeterminada, la URL está vinculada a este proyecto (https://ai-game.dev/mcp/p/<pin>) y, en las configuraciones HTTP de Cloud, incluye la clave de este proyecto cuando has iniciado sesión. Consulta Conectar clientes de IA.

OpciónDescripción
[agent-id]Agente que se va a configurar, por ejemplo claude-code, cursor, codex
[path]Proyecto de Unity (predeterminado: la carpeta actual)
--transport <transport>http (predeterminado) o stdio
--url <url>Sobrescribe la URL del servidor para http
--token <token>Escribe este Personal Access Token en lugar de la clave del proyecto
--oauthEscribe una configuración solo con URL; el agente inicia sesión con su propio OAuth
--regenerate-keyGenera una nueva clave de proyecto, reescribe las configuraciones y revoca la clave anterior
--no-pinUsa el endpoint sin vincular https://ai-game.dev/mcp
--listMuestra los ids de los agentes y las rutas de sus configuraciones

setup-skills

Genera los archivos de habilidades del agente mediante el Editor en ejecución. Unity debe estar abierto con el plugin conectado.

OpciónDescripción
[agent-id]Agente para el que se generan las habilidades
[path]Proyecto de Unity (predeterminado: la carpeta actual)
--url <url>, --token <token>Sobrescribe la URL del servidor y el token
--timeout <ms>Tiempo de espera de la solicitud (predeterminado 60000)
--listMuestra los agentes y si admiten habilidades

Comandos del Editor

open

Abre el proyecto en el Editor de Unity y establece las variables de entorno de conexión del plugin a partir de las opciones indicadas. El editor se inicia de forma independiente.

OpciónDescripción
[path]Proyecto de Unity (predeterminado: la carpeta actual)
--unity <version>Versión del Editor (predeterminado: la versión del proyecto y, después, la más alta instalada)
--editor-path <path>Ejecutable del Editor explícito; omite la detección de Unity Hub
--no-connectAbre sin variables de conexión MCP
--url <url>URL del servidor (establece UNITY_MCP_HOST, el alias de UNITY_MCP_CLOUD_URL)
--keep-connectedFuerza la conexión
--token <token>Token del servidor local (establece UNITY_MCP_TOKEN)
--auth <option>Modo de autorización (establece UNITY_MCP_AUTH_OPTION); esta versión acepta none o required
--tools <names>Herramientas que se muestran, separadas por comas (establece UNITY_MCP_TOOLS)
--transport <method>streamableHttp o stdio
--start-server <value>true o false para el inicio automático del servidor local
--headlessInicia sin ventana (-batchmode, con gráficos) y espera hasta que el servidor MCP responda
--idle-timeout <seconds>Cierra tras este número de segundos sin llamadas a herramientas, guardando antes las escenas y los assets modificados
--ready-timeout <ms>Con --headless, cuánto tiempo esperar (predeterminado 300000)
--no-auto-dismiss-launch-errorsNo hace clic en Ignore en el diálogo de Unity «errores de compilación al iniciar»
--launch-dismiss-timeout-ms <ms>Tiempo total para vigilar ese diálogo (predeterminado 30000)
--launch-dismiss-poll-interval-ms <ms>Intervalo de sondeo del diálogo (predeterminado 1500)

Para descartar el diálogo de errores de inicio se necesita el permiso de Accesibilidad para la terminal en macOS y xdotool en Linux X11 (Wayland no es compatible).

close

Cierra el Editor del proyecto de forma ordenada: unity-mcp-cli close ./MyGame --timeout 60 --force. Cerrar un Editor que no está en ejecución se considera correcto.

OpciónDescripción
[path]Proyecto de Unity (predeterminado: la carpeta actual)
--timeout <seconds>Espera a un cierre ordenado (predeterminado 30)
--forceMata el Editor si no se ha cerrado para entonces
--owned-onlyCierra solo un Editor iniciado por la CLI (exec, open --headless)

wait-for-ready

Sondea hasta que el Editor y el servidor MCP aceptan llamadas a herramientas. Opciones: [path], --url, --token, --timeout <ms> (predeterminado 120000) y --interval <ms> (predeterminado 3000).

status

Muestra si Unity está en ejecución, si el servidor MCP local responde y si el servidor configurado (por ejemplo, la nube) es accesible. Opciones: [path], --url, --token, --timeout <ms> (predeterminado 5000).

Comandos de herramientas

run-tool

Llama a una herramienta MCP mediante la API HTTP del servidor. La URL y el token provienen de la configuración del proyecto (modo Custom o Cloud) a menos que los sobrescribas.

unity-mcp-cli run-tool rql-query ./MyGame --input '{"query":"objects | where name == \"Player\" | select path name active"}'
unity-mcp-cli run-tool unity-tool-list ./MyGame --raw
OpciónDescripción
<tool-name>Herramienta que se va a llamar
[path]Proyecto de Unity, usado para detectar la configuración y el puerto
--url <url>, --token <token>Sobrescrituras que omiten la configuración
--input <json>, --input-file <file>Argumentos de la herramienta (por defecto {})
--rawSalida JSON sin procesar
--timeout <ms>Tiempo de espera de la solicitud (por defecto 60000)

run-system-tool

Las mismas opciones que run-tool, para herramientas del sistema que no se exponen a los clientes MCP (por ejemplo, la generación de skills y el control de sesión).

exec

Ejecuta C# en el Editor mediante script-execute e imprime el resultado. Usa un Editor abierto si hay uno; de lo contrario, inicia un Editor sin interfaz que se mantiene activo para llamadas posteriores y se cierra tras --idle segundos.

unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec
OpciónDescripción
[code]Sentencias de C#; la última expresión es el resultado (o usa -f o stdin)
--path <path>Proyecto de Unity (por defecto: la carpeta actual)
-f, --file <file>Leer el código de un archivo (- para stdin)
--using <namespace>Namespace adicional, repetible
--include <path>Archivo o carpeta .cs auxiliar dentro de .ai-game-dev/snippets, repetible
--windowIniciar el Editor con ventana en lugar de sin interfaz
--idle <seconds>Tiempo de inactividad antes de que se cierre un Editor iniciado por exec (por defecto 300, 0 para nunca)
--ready-timeout <ms>Esperar al Editor (por defecto 300000)
--timeout <ms>Tiempo de espera de la llamada a la herramienta
--rawJSON de respuesta de la herramienta sin procesar
--url <url>, --token <token>Sobrescrituras

Un error de compilación finaliza con el código 1 y señala tus líneas.

Mantenimiento

update

Actualiza la CLI a la última versión de npm. --check solo comprueba y finaliza con el código 2 cuando hay una actualización disponible. Con npx no hay nada que actualizar.

Uso como biblioteca

El paquete también exporta una API tipada de Node.js (installPlugin, removePlugin, configure, setupMcp, installExtension y más) que devuelve objetos de resultado en lugar de imprimir. Consulta el README del paquete en npm.