Artículo

Conoce la interfaz de línea de comandos de Unity : gestiona Unity desde tu terminal.

ETIENNE WHITTOM / UNITY TECHNOLOGIESVP, Authoring Platform
Jul 20, 2026
Interfaz de línea de comandos de Unity
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

TL;DR

  • Ya disponible : Unity CLI es un binario independiente de Unity para administrar e interactuar con editores, módulos, proyectos y autenticación desde la terminal. No se necesita interfaz de usuario; la instalación se realiza mediante la línea de comandos.
  • Diseñado para la automatización: salida JSON/TSV estructurada, códigos de salida claros, instalaciones no interactivas y autenticación de cuenta de servicio para CI.
  • También disponible hoy : el paquete experimental com.unity.pipeline permite que la CLI controle un editor en ejecución, o una compilación de reproductor de desarrollo, a través de una API local. Puedes exponer tus propios comandos con un atributo [CliCommand] .
  • El comando unity eval ejecuta código C# directamente dentro de un editor o reproductor en ejecución y devuelve el resultado, sin necesidad de recompilar el proyecto ni recargar el dominio.
  • En conjunto, permiten que los agentes de IA operen Unity: observar un proyecto en vivo, actuar sobre él y verificar el resultado.

Cada vez más, el desarrollo se lleva a cabo en la terminal: en scripts, en CI y, cada vez más, en manos de agentes de IA. Hoy Unity te encuentra allí. La interfaz de línea de comandos de Unity CLI) lleva Unity a la terminal en todos los niveles: instala y administra editores con un solo binario, controla un editor en ejecución desde un script e incluso ejecuta código C# en vivo dentro de tu proyecto sin necesidad de recompilar. Se trata de un único y rápido comando de Unity, y cada capa va más allá que la anterior: la CLI gestiona Unity, el paquete Pipeline lo controla y eval accede a su interior. Tanto la interfaz de línea de comandos (CLI) como el paquete Pipeline están disponibles a partir de hoy.

Antes de profundizar en el tema, veamos qué es posible cuando estas características se combinan:

En este vídeo de 25 segundos, un desarrollador le entrega a un agente de IA un informe de errores en lenguaje sencillo: "El jugador a veces se cae a través del suelo". El agente utiliza el comando de Unity eval<code> Para inspeccionar la escena en vivo, encuentra un colisionador deshabilitado en tiempo de ejecución, lo vuelve a habilitar y regresa al modo de juego para confirmar la corrección, observando el juego en ejecución, actuando sobre él y verificando el resultado por sí mismo, sin copiar y pegar la salida de la consola.

¿Qué es la CLI de Unity?

La interfaz de línea de comandos (CLI) se distribuye como un único archivo binario independiente. No hay dependencias que instalar, y la instalación se agrega automáticamente a su PATH: simplemente ejecútelo como unity y actualícelo en el lugar con unity upgrade . Además de gestionar editores y proyectos, también se encarga de los módulos y la autenticación, por lo que una máquina nueva no necesita nada más.

Debido a que es un binario nativo, se inicia rápidamente, mientras que la antigua ruta sin interfaz gráfica de Unity Hub ( -- --headless ) tardaba notablemente más. Esta diferencia se acumula a lo largo de las docenas de llamadas que un script o agente realiza por trabajo.

Comience

Instálalo con el gestor de paquetes de tu plataforma:

# macOS or Linux
curl -fsSL https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.sh | UNITY_CLI_CHANNEL=beta bash

# Windows
$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iex

(Nota: Próximamente se ofrecerá compatibilidad con gestores de paquetes estándar como brew, winget y apt. Consulte la documentación de la CLI para obtener la información más reciente.

Descubre lo que está disponible:

unity --help

Instalar un editor con los módulos que necesitas es cuestión de una sola línea de código:

unity install 6000.2.10f1 -m android ios webgl

A partir de ahí, los comandos se leen como cabría esperar: `unity editors` para ver qué está instalado, `unity open` para iniciar un proyecto con el editor correcto seleccionado y `unity auth login` para iniciar sesión. ¿No estás seguro de qué ID de módulo tiene una versión? La lista de módulos de Unity 6000.2.10f1 te lo explica.

Diseñado para la automatización

La interfaz de línea de comandos (CLI) se diseñó para integrarse en sistemas automatizados, no solo como una consola interactiva. Cada comando puede generar una salida estructurada que puedes canalizar directamente a tus herramientas:

unity editors --format json
unity editors --format tsv

Los errores se envían a stderr , los resultados a stdout y los códigos de salida siguen un contrato simple ( 0 éxito, 1 error, 130 cancelado), por lo que los fallos son fáciles de detectar en una canalización.

Para instalaciones desatendidas, omita todas las indicaciones:

unity install 6000.2.10f1 -m android ios --accept-eula --yes

En un agente de compilación sin interfaz gráfica, se autentica con una cuenta de servicio mediante variables de entorno. Sin navegador, sin pasos manuales. Y Unity Doctor diagnostica problemas de entorno, credenciales y configuración.

Hablando con el editor

Gestionar las instalaciones es solo una parte del proceso. La interfaz de línea de comandos de Unity también puede controlar un editor en ejecución .

Una vez añadido a un proyecto, com.unity.pipeline permite que un editor en ejecución reciba comandos de la CLI completamente en tu máquina. Funciona con Unity 6.0 LTS y versiones posteriores, y convierte el Editor en un objetivo de automatización programable para scripts, trabajos de CI y herramientas de agentes.

Agregarlo a un proyecto es tan sencillo como ejecutar un comando:

unity pipeline install

Puedes comprobar cuáles de tus proyectos lo tienen instalado con unity pipeline list . Con el paquete instalado, puedes ejecutar comandos registrados en un editor conectado (o incluso en un entorno de ejecución de reproductor) directamente desde la terminal:

# List the commands a connected Editor exposes
unity command

# Run one of them
unity command <command-name>

Esos comandos no son un conjunto fijo. Cualquier método estático de tu proyecto se convierte en uno al agregarle un atributo [CliCommand] , con [CliArg] en sus parámetros:

using Unity.Pipeline.Commands;
using UnityEngine;

public static class MyPipelineCommands
{
    [CliCommand("greet", "Log a greeting and return its length")]
    public static int Greet(
        [CliArg("name", "Who to greet", Required = true)] string name)
    {
        Debug.Log($"Hello, {name}!");
        return name.Length;
    }
}

El paquete lo detecta automáticamente, sin necesidad de registro. El comando `unity command greet --name World` lo ejecuta en el editor conectado y devuelve el resultado.

El paquete Pipeline está disponible a partir de hoy. Actualmente es experimental , así que cabe esperar que evolucione. Te permite automatizar tareas que antes requerían la intervención humana en el Editor: activar importaciones, ejecutar pruebas, usar herramientas personalizadas.

No se limita al editor. Si se incorpora su componente de tiempo de ejecución a una compilación de desarrollo, el juego en ejecución expone el mismo tipo de API. Dirígelo a la CLI con el comando unity --runtime para obtener registros en tiempo real, consultar el estado de ejecución o recargar el código en caliente en una compilación que ya se esté reproduciendo. Solo está disponible en localhost y viene desactivado por defecto (para compilaciones de desarrollo y control de calidad, nunca para producción), pero convierte un reproductor en ejecución en algo que un script, un banco de pruebas o un agente de IA puede controlar en una instancia de ejecución en tiempo real.

Unity CLI<->Ejecutando el editor a través de com.unity.pipeline

Ejecutar scripts de C# con eval

Los comandos registrados cubren las operaciones que has previsto. El comando unity eval cubre las que no has previsto. Evalúa una expresión C# arbitraria dentro de un editor en ejecución y te devuelve el resultado: un bucle interactivo de lectura, evaluación e impresión (REPL) en tiempo real en tu proyecto, desde la terminal.

unity command eval "return Application.version;"
unity command eval "return UnityEditor.EditorApplication.isPlaying;"
unity command eval "var s = Application.dataPath; return s.Length;" --json
unity command eval_file "path/to/script.cs"

Se compila con Roslyn y se ejecuta en el hilo principal del editor, por lo que llega a cualquier API de motor o editor que tu proyecto pueda alcanzar, y la misma bandera --runtime lo dirige a un reproductor en vivo. Dado que ese poder funciona en ambos sentidos, la evaluación está protegida mediante un token de seguridad. Sin comandos predefinidos, sin complementos, sin recompilación: si puedes formular una pregunta en C#, puedes preguntarle a una instancia de Unity en ejecución.

La ventaja es la velocidad. El ciclo habitual de cambio y verificación (editar, recompilar, reiniciar) cuesta segundos como máximo; eval responde en milisegundos contra una instancia que ya está en funcionamiento. En las numerosas llamadas que realiza un script o un agente durante una sesión, esa diferencia se acumula, y es precisamente lo que proporciona a un agente de IA un ciclo de retroalimentación preciso en lugar de uno lento.

Iterar en una fracción del tiempo

Una base para el desarrollo asistido por IA

Estos componentes (una interfaz de línea de comandos programable, un editor programable y una consola interactiva en tiempo real) ofrecen mucho más que simple comodidad. Son las que hacen posible la demostración que aparece al principio de esta publicación, y convierten a Unity en un entorno en el que un agente de IA puede trabajar de verdad.

Los asistentes de codificación de IA son buenos escribiendo código y contenido. Históricamente, han tenido dificultades con todo lo relacionado con eso: gestionar el proyecto, ver qué falló, volver a intentarlo. Un asistente puede generar un guion de juego, pero no puede ejecutar las pruebas para comprobar si funciona. La interfaz de línea de comandos (CLI) de Unity y la capa de canalización (Pipeline) solucionan ese problema.

Dos propiedades marcan la diferencia. En primer lugar, la interfaz de línea de comandos (CLI) utiliza un lenguaje que los agentes entienden: el JSON estructurado y un contrato de código de salida predecible implican que un modelo obtiene resultados limpios y analizables en lugar de texto extraído de la consola. Las mismas cualidades que la hacen fiable en CI la hacen fiable como herramienta a la que recurre un agente.

En segundo lugar, el paquete Pipeline hace que el Editor sea autoexplicativo: ejecute el comando unity sin argumentos y un Editor conectado informará sobre las operaciones que expone. Un agente descubre lo que puede hacer en tiempo de ejecución en lugar de depender de una lista predefinida. Y dado que los comandos se registran con atributos sencillos, su equipo puede exponer operaciones específicas del proyecto como herramientas invocables por agentes. Esto significa que cada comando registrado se corresponde de forma natural con el tipo de herramienta que un agente ya sabe cómo invocar.

Si combinamos todo esto, obtenemos un verdadero ciclo de retroalimentación: un asistente puede abrir el proyecto, aplicar un cambio, ejecutar las pruebas, entrar en el modo de reproducción para comprobar el comportamiento, leer el resultado y decidir qué hacer a continuación, sin que ningún ser humano tenga que transmitir la información de un lado a otro. Ese es el cambio de un asistente que sugiere a uno que puede verificar . También se adapta perfectamente a los estándares emergentes de los agentes: cada comando registrado se corresponde con el tipo de herramienta que un modelo de llamada a funciones o un servidor MCP ya sabe cómo invocar.

Y no existe una lista fija de lo que un agente puede hacer. Dado que eval accede a cualquier API que tu proyecto pueda utilizar, la superficie de capacidades de un agente es la misma que la de Unity: renderizado, física, animación, la base de datos de recursos, el propio editor, además de todo lo que añada tu propio código. Ese alcance es el resultado de más de una década de trabajo con API , y un agente lo obtiene sin ninguna integración adicional.

Un único canal para acceder a toda la API de Unity.
Un único canal para acceder a toda la API de Unity.

Estamos al comienzo de esto, y los primitivos ya están aquí hoy. Si estás creando herramientas con asistencia de IA para Unity, el paquete Pipeline es el punto de partida ideal.

Cómo se relaciona con las soluciones de IA de Unity

Si utilizas las funciones de IA de Unity, como el conjunto de asistentes integrados en el editor, esta es la capa subyacente. La IA de Unity es la parte que razona sobre tu proyecto y decide qué hacer. La interfaz de línea de comandos (CLI) y el paquete Pipeline constituyen la superficie de ejecución que lleva a cabo esas decisiones: de forma rápida, local y protegida mediante tokens. La misma interfaz está disponible para cualquier agente, ya sea la propia herramienta de Unity que se ejecuta a través de su servidor MCP, un asistente de terceros o un script que usted mismo escriba. La IA de Unity es un consumidor de ella, no un sustituto de la misma.

Ya disponible

La interfaz de línea de comandos de Unity ya está aquí. Instálalo, ejecuta `unity --help` e incorpóralo a tu próximo script de compilación o trabajo de CI, o automatízalo con un agente. La documentación incluye la referencia completa de comandos. Cuéntanos qué construyes; tus comentarios determinarán su futuro.

Declaración de exención de responsabilidad: Esta hoja de ruta representa las intenciones actuales de Unity para el desarrollo de nuestra suite de productos. Se proporciona únicamente con fines informativos y no constituye un compromiso para ofrecer ninguna característica o funcionalidad específica. La información proporcionada está sujeta a cambios en cualquier momento, y Unity no ofrece garantías con respecto al contenido, el momento o la naturaleza de cualquier lanzamiento futuro. El usuario no debe basarse en esta hoja de ruta para tomar decisiones críticas para el negocio.