В этом 25-секундном ролике разработчик вручает агенту ИИ обычный английский отчет об ошибке: "игрок иногда проваливается под пол". Агент использует <code> eval команды Unity для проверки сцены в прямом эфире, обнаруживает отключённый коллайдер во время выполнения, снова включает его и снова переходит в режим Play для подтверждения исправления ситуации, наблюдая за запущенной игрой, действуя в соответствии с ней и проверяя сам результат без копирования вывода консоли.
Meet the Unity CLI: управлять Unity с терминала

TL;DR
- Доступно сейчас: Unity CLI — это автономная unity двоичная система для управления редакторами, модулями, проектами и авторизации с терминала и взаимодействия с ними. Пользовательский интерфейс не нужен; установить через командную строку.
- Создан для автоматизации: структурированный выход JSON/TSV, четкие коды выхода, неинтерактивные установки и аутентификация учетной записи сервиса для CI.
- Сегодня также доступен экспериментальный пакет com. Unity.pipeline, позволяющий CLI управлять запущенным редактором или сборкой dev Player по локальному API. Вы можете раскрывать свои собственные команды атрибутом [CliCommand].
- Команда Unity eval запускает код C# в реальном времени внутри запущенного редактора или плеера и возвращает результат, при этом перекомпиляция или перезагрузка домена на уровне проекта не требуется.
- Вместе они позволяют агентам ИИ управлять Unity: наблюдать за живым проектом, действовать по нему и проверять результат.
Все больше и больше разработок происходит в терминале: в скриптах, в КИ и все чаще в руках агентов ИИ. Сегодня Unity встретит тебя там. Unity CLI подводит Unity к терминалу на каждом уровне: устанавливать и управлять редакторами с помощью одного двоичного файла, управлять запущенным редактором из сценария и даже выполнять живой C# внутри вашего проекта без перекомпиляции. Это одна единственная, быстрая команда Unity, и каждый слой идет дальше предыдущего: CLI управляет Unity, пакет Pipeline приводит его в движение, и eval тянется внутрь него. Сегодня доступны как CLI, так и пакет Pipeline.
Прежде чем мы разберемся в вещах, давайте рассмотрим, что возможно, когда эти особенности соединяются вместе:
What is the Unity CLI
CLI — корабль в виде единого автономного двоичного файла. Зависимости для установки отсутствуют, и установка добавляется к вашему PATH: просто запустите его как Unity и обновите его на месте с помощью обновления Unity. Помимо редакторов и проектов, он также занимается модулями и Authentication, так что свежей машине больше ничего не нужно.
Поскольку это родной двоичный файл, он запускается быстро, в то время как старый безголовый путь Unity Hub (-- --headless) занял заметно больше времени. Этот разрыв складывается из десятков звонков, которые делает скрипт или агент на задание.
Начать работу
Установите его с помощью менеджера пакетов вашей платформы:
# 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(Примечание: Скоро появится поддержка стандартных менеджеров пакетов, таких как brew, winget и apt. См. последние данные в документации КЛИ.)
Исследуйте, что доступно:
unity --helpУстановка редактора с нужными вам модулями однострочная:
unity install 6000.2.10f1 -m android ios webglОтсюда команды читаются так, как вы ожидали: редакторы Unity, чтобы увидеть, что установлено, Unity open, чтобы запустить проект с нужным редактором, и Unity auth авторизоваться для входа. Вы не уверены, какие идентификаторы модулей есть в версии? Unity modules list 6000. 2. 10f1.
Создан для автоматизации
ЦЛИ создавался для жизни внутри автоматики, а не только для интерактивной оболочки. Каждая команда может излучать структурированный выход, который вы можете запустить прямо в вашу оснастку:
unity editors --format json
unity editors --format tsvОшибки переходят в stderr, результаты - в stdout, а коды выхода следуют простому контракту (0 успешно,1 ошибка, 130 аннулировано), так что сбои легко поймать в конвейере.
Для оставленных без присмотра установок пропустите каждую подсказку:
unity install 6000.2.10f1 -m android ios --accept-eula --yesНа безголовом агенте сборки он авторизуется с помощью учетной записи службы через переменные среды. Ни браузера, ни ручного шага. Unity doctor диагностирует проблемы с окружением, учётными данными и конфигурацией.
Разговор с редактором
Управление установками - это только половина дела. Unity CLI также может управлять запущенным редактором.
После добавления в проект com. Unity. pipeline позволяет запущенному редактору получать команды от CLI полностью на вашем компьютере. Она работает с Unity 6.0 LTS и более новыми, а также превращает Редактор в программируемую цель автоматизации для сценариев, заданий CI и агентских средств.
Добавление его в проект - одна команда:
unity pipeline installВы можете проверить, в каком из ваших проектов он установлен с помощью конвейера Unity list. При наличии пакета можно выполнять зарегистрированные команды против подключенного Редактора (или даже времени выполнения Плеера) прямо из терминала:
# List the commands a connected Editor exposes
unity command
# Run one of them
unity command <command-name>Эти команды не фиксированный набор. Любой статический метод в вашем проекте становится таковым, добавляя атрибут [CliCommand] с параметрами [CliArg]:
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;
}
}Пакет обнаруживает его автоматически, без шага регистрации. Команда unity greet -- name World запускает его против подключенного редактора и возвращает результат.
Пакет "Трубопровод" доступен сегодня. В настоящее время он экспериментален, так что жди его развития. Он позволяет автоматизировать то, что раньше требовалось человеку в редакторе: запуск импорта, запуск тестов, пользовательская оснастка.
На этом редактор не заканчивается. Запустите компонент времени выполнения в сборку разработки и ваша запущенная игра откроет API того же типа. Наведите на него CLI с помощью команды Unity -- runtime , чтобы вытащить живые журналы, состояние выполнения запроса или код горячей перезагрузки в уже воспроизводимой сборке. По умолчанию он работает только на локальном узле и выключен (для сборок dev и QA — никогда не производится), но он превращает работающий Плеер в нечто, на чем может ездить скрипт, тестовая установка или агент ИИ в экземпляре живого времени выполнения.
Unity CLI<->запуск редактора через com.unity.pipeline
Выполнить скрипты C# с eval
Зарегистрированные команды охватывают те операции, которые вы предвидели. Unity command eval охватывает те, которые вы не предвидели. Он оценивает произвольное выражение C# внутри запущенного редактора и возвращает результат: живой цикл чтения- оценки- печати (REPL) в ваш проект, из терминала.
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"Он скомпилирован с Рослином и работает на главном потоке редактора, так что он достигает любого движка или редактора API, который может ваш проект, и тот же флаг --- выполнения направляет его на живого игрока. Потому что электричество отключено в обе стороны, Эвал скрыт за символом безопасности. Нет предопределённой команды, нет модуля, нет перекомпиляции: если вы можете выразить вопрос на C#, вы можете задать запущенный экземпляр Unity.
Преимущество в скорости. Обычный цикл изменения и проверки (редактирование, перекомпиляция, перезапуск) стоит в лучшем случае секунды. Ответ EVAL в миллисекунды на уже запущенный экземпляр. Из множества вызовов, которые делает скрипт или агент в сеансе, эта разница складывается, и именно она дает ИИ-агенту жесткий цикл обратной связи вместо медленного.

Фундамент для развития с помощью ИИ
Эти фрагменты (скриптируемый CLI, программируемый редактор и живой REPL) в сумме более чем удобны. Именно они делают демо-версию в верхней части этого поста возможной, и превращают Unity в среду, в которой агент ИИ действительно может работать.
Помощники по кодированию ИИ хорошо пишут код и контент. Они исторически боролись со всем вокруг: вели проект, смотрели, что сломалось, пытались снова. Ассистент может генерировать сценарий геймплея, но не может запустить тесты, чтобы проверить, работает ли он. Unity CLI и Pipeline слой сокращают этот разрыв.
Разница в двух свойствах. Во-первых, CLI говорит на языке, который понимают агенты: структурированный JSON и предсказуемый контракт exit-code означают, что модель получает чистые, разбираемые результаты вместо соскребенного консольного текста. Те же качества, которые делают его надежным в КИ, делают его надежным как инструмент, который вызывает агент.
Во- вторых, пакет Pipeline делает редактор самоописующимся: запустить команду Unity без аргументов, а подключенный редактор сообщит о раскрываемых им операциях. Агент обнаруживает, что он может делать во время выполнения вместо того, чтобы полагаться на список с жестким кодом. А поскольку команды регистрируются с простыми атрибутами, ваша команда может раскрыть операции конкретного проекта как средства вызова агентов. Это означает, что каждая зарегистрированная команда естественным образом сопоставляется с инструментом, который агент уже умеет вызывать.
Сложите их вместе, и вы получите реальную петлю обратной связи: ассистент может открыть проект, применить изменение, запустить тесты, войти в режим Играть, чтобы проверить поведение, прочитать результат и решить, что делать дальше, без ретрансляции человеком выхода туда-сюда. Это переход от помощника, который предполагает, к помощнику, который может проверить. Это также естественно для формирующихся стандартов агентов: каждая зарегистрированная команда сопоставляется с инструментом, который уже умеет вызывать модель вызова функций или MCP-сервер.
И нет никакого списка того, что может сделать агент. Поскольку eval достигает любого API, который может вызвать ваш проект, поверхность возможностей агента такая же, как и у Unity: рендеринг, физика, анимация, база данных активов, сам редактор, плюс всё, что добавляет ваш собственный код. Такой охват - результат более чем десятилетней работы над API, и агент получает его без какой-либо дополнительной интеграции.

Мы в самом начале, и примитивы уже сегодня здесь. Если вы создаете оснастку с помощью ИИ для Unity, то с пакета Pipeline и нужно начинать.
Как это связано с предложениями Unity в области ИИ
Если вы используете ИИ-предложения Unity, такие как пакет помощников в редакторе, то это слой под ним. ИИ Unity – это та часть, которая рассуждает о вашем проекте и решает, что делать. CLI и пакет Pipeline — это поверхность исполнения, которая выполняет эти решения: быстро, локально и с символическим затвором. Одна и та же поверхность открыта для любого агента, будь то собственная оснастка Unity, маршрутизирующая через свой MCP-сервер, сторонний помощник или сценарий, который вы пишете сами. ИИ Unity является одним из его потребителей, а не заменой ему.
Уже доступно
Unity CLI здесь. Установите его, запустите Unity -- help и сложите в следующий сценарий сборки или задание CI, или автоматизируйте его с помощью агента. Документация содержит полный командный справочник. Расскажите, что вы строите; ваша обратная связь определяет, куда она идёт дальше.
Заявление безопасной гавани: Эта дорожная карта отражает текущие намерения Unity по развитию нашего продуктового комплекса. Он предоставляется исключительно в ознакомительных целях и не является обязательством обеспечить какую-либо конкретную функцию или функциональность. Представленная информация может быть изменена в любое время, и Unity не гарантирует никаких гарантий относительно содержания, сроков или характера любых будущих релизов. Пользователю не следует полагаться на эту дорожную карту при принятии каких-либо важных для бизнеса решений.