El paquete Unity Pipeline y la interfaz de línea de comandos de Unity CLI): Guía de instalación y tutorial

Aug 13, 2026
Instalación del paquete Unity Pipeline

Conclusiones clave

  • El paquete Unity Pipeline se ejecuta dentro del editor de Unity y expone comandos a través de una API HTTP y JSON.
  • La interfaz de línea de comandos de Unity es un cliente independiente que permite a las terminales, los agentes y los scripts de automatización ejecutar esos comandos.
  • Los comandos integrados y personalizados admiten flujos de trabajo repetibles, como la configuración del proyecto, la recompilación, las pruebas y el control en tiempo de ejecución.
  • El mismo contrato de comandos puede alimentar la interfaz de línea de comandos de Unity , los flujos de trabajo de los agentes y las interfaces personalizadas.

Descripción general

Unity CLI es gratuito y está en fase beta. Combínalo con el paquete Unity Pipeline para controlar tu editor desde la terminal para CI, scripting y agentes de IA.

El paquete Unity Pipeline añade un servidor ligero dentro del editor de Unity , lo que le permite comunicarse directamente con la terminal u otras herramientas a través de protocolos web estándar. Desde el exterior, puedes activar comandos como comprobaciones de estado, compilaciones o ejecuciones de pruebas. Dado que estas operaciones se gestionan de forma asíncrona, permanecen activas incluso cuando el editor se recarga después de un cambio de script. Esta configuración hace que tu automatización sea consistente, predecible y fácil de programar.

Guía de instalación

Componentes

  • Unity CLI : Unity CLI es un binario independiente que se instala por separado del Editor, se conecta a un Editor en ejecución y lo controla desde la terminal. El paquete Pipeline requiere Unity 6.0 o posterior.
  • Paquete Unity Pipeline : este se instala en un proyecto (com.unity.pipeline) a través de la CLI. El paquete se ejecuta dentro del Editor e inicia automáticamente un servidor local cuando se carga el Editor.
  • Comandos : Cada comando es una función del proyecto, etiquetada para que Unity la registre automáticamente. Los comandos integrados abarcan el modo de reproducción, el estado, la recompilación y la ejecución de pruebas, con la opción de añadir tus propios comandos.
  • Eval: Esto ejecuta C# directamente dentro de una instancia activa de Unity (el Editor o una compilación en ejecución) para acciones puntuales. Ejecuta código C# arbitrario y está protegido por un token de seguridad; trátelo como ejecución remota de código y utilícelo únicamente para desarrollo local.
prueba

Arquitectura

  • Clientes : El emisor de la llamada, como un terminal , un agente , una configuración de CI/CD o una interfaz de usuario personalizada.
  • Unity CLI : El cliente principal convierte los comandos en llamadas a la API ; una interfaz de usuario personalizada también puede comunicarse directamente con el protocolo.
  • Protocolo: HTTP + JSON y el contrato entre el cliente y Unity
    • Cualquier cliente que pueda realizar una solicitud HTTP puede controlar Unity, en cualquier lenguaje. Por defecto, el servidor se enlaza con localhost, por lo que los clientes se ejecutan en la misma máquina que el editor; los usuarios remotos acceden a él a través de la ruta de red que se exponga.
  • Paquete Unity Pipeline : Instalado en el proyecto, se inicia automáticamente con el Editor.
    • El paquete Pipeline aloja dos servidores: el servidor Editor (modo de reproducción, estado, recompilación, ejecución de pruebas, configuración del proyecto) y el servidor Runtime (ediciones en tiempo real durante una compilación en ejecución a través del Administrador de Pipeline de Runtime).

Configuración

Paso 1: Instala la interfaz de línea de comandos de Unity

La interfaz de línea de comandos de Unity es un binario independiente (experimental). Instálalo con el script o a través del Administrador de paquetes y luego verifica. Para obtener instrucciones completas, consulte la documentación de Unity CLI .

# macOS / Linux — install script

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

# macOS / Linux — Homebrew (keeps it current)

brew install --cask unity-cli

# Windows — PowerShell install script

$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iex
unity --version          # verify it's on your PATH

Paso 2: Iniciar sesión

Para controlar un editor se requiere una sesión autenticada:

unity auth login         # opens a browser sign-in flow

unity auth status        # confirm you're signed in

Paso 3: Agregue el paquete Unity Pipeline al proyecto.

El paquete Unity Pipeline se ejecuta dentro del Editor y se conecta a la interfaz de línea de comandos de Unity CLI). Si lo instalas desde la terminal, asegúrate de estar en la raíz del proyecto de Unity en el que quieres instalarlo. Ejecuta `unity pipeline install` y, por defecto, se instalará en el directorio actual o en el editor en ejecución. También puedes añadir com.unity.pipeline a través del Administrador de paquetes. Consulte la documentación del paquete Unity Pipeline.

unity pipeline install

Una vez instalado, el editor inicia el servidor automáticamente. Consulta el nuevo menú de Pipeline para confirmarlo.

Paso 4: Conéctate y lista los comandos.

Una vez instalado el paquete, conéctese a un editor en ejecución y enumere lo que se puede automatizar mediante scripts:

unity command            # list this project's commands

La lista incluye las funciones integradas (modo de reproducción, estado, recompilar, ejecutar pruebas) más cualquier comando personalizado. Funcionan con cualquier agente sin necesidad de configuración adicional.

Controla el editor desde la terminal.

Acceda al modo de reproducción, ejecute pruebas, consulte los objetivos de compilación o capture una captura de pantalla.

unity command editor_play

unity command run_tests

unity command list_build_targets

unity command screenshot

Las ejecuciones son deterministas, y lo anterior es solo una pequeña parte; la lista de Unity muestra la superficie integrada completa (escenas, prefabs, materiales, animación, horneado de iluminación/NavMesh, compilaciones, capturas de pantalla, paquetes y más).

Comandos personalizados

Los comandos personalizados encadenan una serie de acciones en una sola llamada desde la línea de comandos. Un comando es una función etiquetada en el proyecto. Ejemplos:

  • Ejecutar pruebas + notificar: Ejecuta el conjunto de pruebas y envía los resultados al equipo en una sola llamada.
  • Informar sobre activos no utilizados: Analiza el proyecto y enumera los recursos sin referencias, que se deben eliminar antes de la compilación.

Una orden escrita es determinista y repetible: la misma llamada produce el mismo resultado, lo que también facilita su entrega a un agente.

Control en tiempo de ejecución

El servidor de tiempo de ejecución controla la compilación en curso. Habilítelo agregando un GameObject vacío, agregando el componente Runtime Pipeline Manager y marcando la casilla Habilitar en las compilaciones . Con una compilación en ejecución, desde la terminal:

  • Ralentizar, pausar o reiniciar el tiempo.
  • Cambia los valores sobre la marcha y modifica la escala o el movimiento de la transformación de un GameObject en tiempo de ejecución.
  • Intercambia activos y efectos en tiempo de ejecución.

Para acciones repetitivas, escribe comandos de tiempo de ejecución que se incluyan dentro del juego (modifica los valores de juego, anula los modos de juego). Es determinista, repetible y puede ser invocado por un agente.

Agentes y evaluación

Todos los comandos están disponibles para cualquier agente a través de la CLI o su modo MCP: comandos integrados, comandos personalizados y eval. Un agente tiene dos marchas:

  • Comandos con nombre deterministas para pasos repetibles
  • eval para C# único cuando aún no existe ningún comando

Un caso de uso podría ser que un agente utilice `eval` para construir o modificar algo, ejecute un comando determinista para probarlo, tome una captura de pantalla y compare la imagen con la solicitud, repitiendo el proceso hasta que coincida. `eval` es una función arbitraria de C# con acceso restringido mediante tokens, por lo que es importante delimitar el alcance de las acciones del agente.

Seguridad

El paquete Unity CLI y Pipeline está diseñado para el desarrollo local, no para juegos distribuidos. Por defecto, todo permanece en tu máquina; solo se ejecuta mientras estás desarrollando, y la ejecución de código en vivo (eval) está restringida por una clave de acceso por proyecto, por lo que un agente no puede ejecutar código C# arbitrario en tu editor sin ella. Entregar la interfaz de línea de comandos a un agente de IA es como darle acceso a tu ordenador a cualquier asistente: puede hacer lo que tú puedes, así que decide qué le permites modificar y limita el comando eval al trabajo local.

Más recursos

Documentación de Unity CLI

Documentación del paquete Unity Pipeline