20 CLI commands in 10 min

Oct 8, 2026|10 Min
Thomas Krogh-Jacobsen
Thomas Krogh-Jacobsen - Unity Technologies
Senior Technical Content Marketing Manager

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

В нашей последней статье мы рассмотрели, как начать работу с Unity CLI и пакетом Pipeline. Если вы никогда не пробовали ни одно из них, или просто хотите освежить знания, ознакомьтесь здесь.

В этой статье мы хотели поделиться несколькими дополнительными командами, которые вы можете добавить в свой набор инструментов разработчика. С более чем 140 командами, и с добавлением новых с каждым обновлением, вам не нужно учить их все. Однако запоминание некоторых основных команд и знание о том, какие еще опции доступны, поможет вам лучше использовать рабочие процессы разработчика ИИ. Не стесняйтесь просмотреть и выбрать те, которые новые, и пропустить те, которые вы уже знаете. Давайте начнем.

Краткое предупреждение, прежде чем мы перейдем к деталям: новые функции и улучшения добавляются часто. На момент написания я использую версию Unity CLI 1.0.0-beta.10 в сочетании с 0.6.0-exp.1 пакета com.unity.pipeline и Unity 6000.6.0f1. Таким образом, в будущем вещи могут измениться, и если вы столкнетесь с проблемами, ознакомьтесь с документацией Unity CLI: https://docs.unity.com/en-us/unity-cli/use-unity-cli.

1. Используйте --help для любой команды

Вы, вероятно, уже знаете и использовали команду unity --help. Однако --help можно прикрепить к любому уровню вложенной команды, чтобы получить мгновенную документацию. Когда сомневаетесь, просто добавьте --help в конце.

Вот несколько примеров:

Вы, вероятно, уже знаете и использовали команду unity --help. Однако --help можно прикрепить к любому уровню вложенной команды, чтобы получить мгновенную документацию. Когда сомневаетесь, просто добавьте --help в конце.

Вот несколько примеров:
# Документация по получению всех доступных редакторов

unity editors --help

# Получить параметры для установки конкретного модуля

unity install-modules --help

# Справка по командам Authentication

unity auth --help

# Помощь по команде входа в систему конкретно

unity auth login --help

Каждый экран справки будет мгновенно выводить, что делает команда, какие опции доступны и какие аргументы она ожидает.

Флаг --help также используется агентами для изучения инструмента, поэтому при начале новой сессии в вашем CLI вы можете попросить своего агента запустить --help, чтобы убедиться, что он подключен.

2. Перечислите команды

Говоря о документации и поиске своего пути среди множества доступных вариантов, есть также эта команда (при запуске без аргументов):

команда unity

Эта команда подключается к запущенному редактору Unity через локальный сервер пакета Pipeline и предоставляет список каждой зарегистрированной команды, которую API редактора предоставляет оболочке, и которую агент может использовать для работы внутри Unity.

Пример одного способа использования команд может быть:
unity command editor_play


Чтобы заставить подключенный Редактор войти в Режим воспроизведения (наш аналог кнопки Play в CLI), чтобы ваши скрипты начали выполняться без необходимости взаимодействовать с интерфейсом Редактора. Аналогично, соответствующий вариант:
unity command editor_stop


Чтобы убедиться, что ваш агент знает, что может делать CLI (и поскольку иногда он кажется черным ящиком), полезный совет при начале нового запроса — быть более исследовательским и предоставить Claude, Codex и т. д. контекст о том, что может делать CLI. Вы можете сделать это, выполнив такую команду:
Запустите "unity command" в bash и скажите мне, что он может делать, и протестируйте простую команду "eval"

3. Проверка статуса и запуск нескольких экземпляров

Если вам нужно проверить, запущен ли Unity CLI, вы можете просто использовать команду:
статус Unity
Он должен вернуть что-то вроде этого:
Unity Editor (порт 7800): readyProject: /Users/thomaskr/Github/UnityProjects/MyAwesomeProjectVersion: 6000.6.0d1PID: 85009
Если вы видите состояние ready рядом с первой строкой, это означает, что Редактор активен и доступен. Он также подтверждает, на каком порту находится Редактор, путь к Проекту, Версию Редактора и идентификатор процесса (PID).

unity status уже перечисляет каждый подключенный редактор, поэтому сам отвечает на вопрос "какие запущены?". Когда вам конкретно нужно знать, какие из этих проектов имеют установленный и доступный пакет Pipeline, используйте:
# конвейер

список конвейеров Unity
Показывает каждый проект Unity, о котором знает CLI, у которого запущен пакет Pipeline, перечисляя каждый проект вместе с его портом сервера и тем, доступен ли он в настоящее время.

Когда несколько редакторов запущены, как в приведенном выше примере, вы можете нацелиться на один из них, передав --project-path <путь> с его путем к проекту. В противном случае CLI выбирает Редактор, чей проект содержит текущий каталог.

4. Короткие и длинные флаги

Большинство команд также предлагают однобуквенный ярлык, предназначенный для быстрого набора в вашем ежедневном терминальном рабочем процессе. Так что вместо запуска unity --help вы также можете просто использовать unity -h, и оба варианта дадут вам одинаковый ответ, но сэкономят вам несколько нажатий клавиш.

unity --help # Версия с длинным флагом (улучшенная читаемость)

unity -h # Короткая версия флага (быстрее в повседневном использовании)

5. Проверьте размер вашего проекта

Если вы хотите освободить место, эта команда поможет вам быстро определить размер ваших проектов Unity:


Размер дискового следа на папку для одного проекта, чтобы вы могли увидеть, сколько можно восстановить (Библиотека/Временные файлы)

размер проектов Unity

# Обобщить каждый зарегистрированный проект, отсортированный по размеру

размер проектов Unity --all

6. Управляйте форматом вывода

По умолчанию команды возвращают текст, понятный человеку, но вы можете изменить формат на JSON, когда скрипту нужен чистый вложенный JSON для парсинга. По умолчанию используйте удобочитаемый вывод, когда ваш агент читает небольшой, плоский результат напрямую и не будет нуждаться в его программном разборе, переключайтесь на --format json, как только ответ приобретет структуру или размер, который в противном случае потребовал бы угадывания с помощью регулярных выражений по формату, который не гарантированно останется стабильным.


# Машинно-читаемый JSON

unity editors list --format json

Человекопонятный формат

список редакторов Unity --format human

7. Предварительный просмотр установки модуля без загрузки

Прежде чем приступать к загрузке и учитывая большой объем занимаемого модулями дискового пространства, вы можете использовать --dry-run, который покажет вам, какие именно модули будут установлены и их общий размер, без загрузки чего-либо.

unity install-modules --module android ios --dry-run

Проведение пробного запуска дает вам хорошее представление о том, как будет выглядеть весь проект.

8. Проверьте конфигурацию сборки перед коммитом в время компиляции

Нет флага --dry-run для сборки, но вы все равно можете проверить структуру перед оплатой компиляции. unity build требует либо --target, либо --profile, и несколько флагов завершаются до начала сборки, что позволяет поймать неправильную цель или отсутствующий профиль сборки за секунды, а не за минуты.

# Проверьте сборку перед запуском

unity build --list-targets

# Список профилей

unity build --list-profiles

9. Установите определенную версию Редактора со всеми модулями сразу

Для сред CI, где важна воспроизводимость, вы можете установить точную версию Editor без Hub. Версия является позиционным аргументом, --cm автоматически подтягивает дочерние модули, а именованные платформенные модули поступают из отдельной команды install-modules.

# Версия позиционная, а не флаг --version

unity install 6000.6.0f1

# Автоматически включать дочерние модули

unity install 6000.6.0f1 --cm

# Добавить модули платформы (отдельная команда, поддерживает --dry-run)

unity install-modules --module android ios webgl

10. Процесс установки и обновления редактора из терминала

Вместо использования Hub для управления процессом установки используйте базовую команду unity install, которая предоставит вам список всех доступных версий Editor, которые вы затем сможете установить, не открывая Hub.

Интерактивное руководство по установке

unity install

После установки новых версий вы можете обновить проект, используя команду upgrade, указав путь к папке вашего проекта и версию, до которой вы хотите обновиться:
# Замените путь к проекту и версию редактора по мере необходимости для вашего проекта

unity projects upgrade /Users/thomaskr/Github/UnityProjects/CLIDemo --to 6000.6.0f1

На скриншоте выше вы можете увидеть, как было выполнено обновление одной простой командой в командной строке.

11. Создать проект из терминала

Вы можете создавать новые проекты через CLI всего несколькими командами:


#Шаблон по умолчанию

проекты Unity создать "CLI demo"

Запуск стандартного режима предоставляет вам интерактивный мастер, который проведет вас через процесс. Просто выберите версию редактора, которую вы хотите использовать, привяжите к Unity Cloud и выберите шаблоны и версии редактора во время создания, что делает настройку нового проекта очень простой, как вы делаете это в Hub.

Однако, в отличие от Хаба, вы также можете автоматизировать свои настройки, если у вас есть часто повторяющийся рабочий процесс настройки, просто определив опции так, как вам нравится. Вот пример, где вы определяете конкретную версию редактора, шаблон и путь к проекту.


#С шаблоном (3D, 2D, VR и т. д. - просто замените плейсхолдеры)

unity projects new "CLI demo" --editor-version 6000.6.0b9 --template com.unity.template.3d --path ~/MyProjects

12. Сделайте скриншоты

Если вам нужно делать снимки экрана в своих рабочих процессах, у вас есть три разных команды.

# Сделать снимок экрана или игрового вида в файл PNG, возвращает путь. Параметры: --view, --output, --width, --height

# Вид игры

# Примечание: UI наложения в пространстве экрана НЕ находится в выводе камеры, поэтому возвращает черный

unity command screenshot --view game

Вид сцены

скриншот команды unity ---view scene

# Сделать снимок при определенном разрешении и с определенной камерой, получить base64 обратно встроено

# Считывает композитный буфер образов, поэтому включен наложенный пользовательский интерфейс. Только режим игры.

unity command capture_game_view --width 1920 --height 1080 --camera "Main Camera" --save_path Screenshots/check.png

Вывод будет выглядеть примерно так:

Это может быть полезно для цикла проверки «реализовать это, сделать снимок экрана, сравнить с дизайном» из руководства по передовым практикам самого Claude Code, поскольку изображение возвращается в виде данных, о которых агент может немедленно судить, а не как путь, который ему затем придется открывать отдельно.

13. Журнал изменений

Поскольку в CLI и пакете Pipeline Unity быстро добавляются новые функции, полезная команда, которую я люблю использовать, — это журнал изменений, который вы можете получить, просто выполнив:

журнал изменений Unity

Он обобщает недавние изменения, давая вам краткий обзор того, на что стоит обратить внимание, и, возможно, новые команды для thử.

14. Запустить C# с Eval

Когда пакет Unity Pipeline запущен внутри вашего Редактора, CLI может компилировать и запускать фрагменты C# в реальном времени в Редакторе, используя команду eval command. Поскольку нет перекомпиляции на уровне проекта и нет перезагрузки домена, он выполняется за миллисекунды, вместо того чтобы заставлять вас ждать. Вы можете использовать это для запуска автоматизированных скриптов настройки, запроса состояний редактора или даже выполнения файлов скриптов C# с вашего диска с помощью unity command eval_file --file path/to/script.cs.

# Возвращает true, если Редактор в настоящее время находится в режиме Play

unity command eval --code "return UnityEditor.EditorApplication.isPlaying;"

# Записать простую строку в консольное окно

unity command eval --code 'Debug.Log("I was invoked in the terminal");'

15. Тестирование

Инструмент тестирования Unity, также называемый Unity Test Framework, может запускаться напрямую из CLI.

Unity разделяет тесты на две категории, и это различие очень важно, когда агент выполняет их многократно:

  • Тесты EditMode: запускаются мгновенно, без нажатия Play. Хорошо подходит для тестирования простой логики (математика, обработка данных, классы, не являющиеся MonoBehaviour).
  • Тесты PlayMode: фактически запустите свою игру ненадолго, так, как это сделал бы игрок. Медленнее, потому что Unity должна перезагружать вещи в фоновом режиме.

Вероятно, вы захотите начать с тестов в режиме редактирования. Они быстрее, проще в написании и охватывают большую часть того, что вам нужно на ранних этапах. Как только вы установите и Test Framework, и Unity CLI, вы сможете вызвать его из командной строки:

# Запустить тесты в режиме редактирования проекта

unity test --mode EditMode

# Отфильтровать до подмножества и написать отчет JUnit

unity test --mode EditMode --filter MyNamespace.MyTests --junit-output results.xml

# Запускать только тесты, затронутые недавними изменениями

unity test --affected

Это выполняется при каждом тесте в режиме редактирования. Добавьте --junit-output results.xml, и вы также получите структурированный отчет о том, что прошло и что не прошло. Затем попросите своего агента запустить тесты и обобщить результаты, что-то вроде: "Запусти тесты EditMode и скажи мне только о том, что не проходит, на простом английском." Агент выполняет команду, читает отчет и сообщает о результатах, больше не требуется ручное прокручивание логов.

16. Управляйте своим облаком

В то время как вход в систему management находится в unity auth, вы можете использовать unity cloud для управления вашей организацией и проектами Unity Cloud из терминала.

# Открывает список всех доступных облачных команд

Unity Cloud

# Чтобы получить идентификатор вашей организации и учетную запись

статус Unity Cloud

Только активный идентификатор организации, готовый к перенаправлению

текущая организация Unity Cloud

17. Проверьте доктора

При устранении неполадок или проверке вашей среды вы можете использовать команду unity doctor вместо ручной проверки {authentication}, установок и файлов журналов. Команда выполняет комплексную проверку состояния вашей системы, включая доступные редакторы, конфигурации прокси и журналы недавней активности в одном выводе. Это особенно полезно для диагностики скрытых ошибок конфигурации на машинах CI во время первоначальной настройки.

# Диагностируйте вашу установку

unity doctor

# Добавляет полные стектрейсы ошибок

unity doctor --verbose

Поскольку некорректная конфигурация тихого прокси является частой причиной сбоев сборки, вы можете рассмотреть возможность проверки состояния редактора перед запуском сборки. Вы можете просто автоматизировать это для запуска на машинах CI во время настройки.

Вы также можете использовать команду unity env. Это подмножество unity doctor, которое вам понадобится, если вам нужен только путь, например, для очистки кэша загрузки или для ручной проверки user-settings.json.

# разрешенные пути (путь установки, путь кэша, путь конфигурации)

unity env

18. Создание пользовательских команд

Атрибут [CliCommand] позволяет легко писать пользовательские команды, чтобы предоставить вашим ИИ-агентам пользовательские скрипты. Чтобы использовать команду CLI, вам нужен стандартный статический метод C# и аннотировать его атрибутами [CliCommand] и [CliArg].

Пакет Pipeline автоматически обнаруживает эти атрибуты во время компиляции, что означает, что не требуется никакой ручной конфигурации или файлов регистрации. Когда вы запускаете unity command без аргументов, CLI динамически перечисляет все доступные пользовательские команды наряду с встроенными.

Примечание. Атрибут [CliCommand] делает команды обнаруживаемыми и вызываемыми через CLI. Для параметризованного выполнения вы вызываете метод напрямую, используя unity command eval с синтаксисом C#, а не передавая флаги в стиле CLI.

Давайте посмотрим на быстрый пользовательский командный "Hello World".

Создайте новый скрипт C# с именем HelloWorldCommand.cs. Убедитесь, что класс и метод статичны, и включите пространство имен Unity.Pipeline.Commands:

using UnityEngine;

using Unity.Pipeline.Commands;

public static class HelloWorldCommand

{

[CliCommand("hello-cli", "A hello world test")]

public static void SayHello()

{

Debug.Log("Привет всем!") Я кастомная команда CLI.");

}

}

Чтобы запустить вашу новую команду, откройте терминал и выполните:

unity command hello-cli

Запуск этого выводит результат команды в ваш терминал, а вывод Debug.Log появляется в окне Консоли Редактора.

Если вы хотите узнать больше о создании пользовательских команд, мы рассмотрим это в будущей статье.

19. Используя сервер MCP

Хотя использование CLI в целом является рекомендуемым рабочим процессом, CLI Unity также может работать как сервер MCP, если вам нужна нативная интеграция инструментов или ваш агент испытывает трудности с командными строками.

MCP упрощает интеграцию, предоставляя агентам прямой доступ к названиям инструментов, описаниям и структурированным схемам по постоянному соединению, избегая выполнения командной строки и парсинга вывода. В то время как CLI подходит для скриптов и ручных рабочих процессов, MCP бесшовно встраивает инструменты Unity в рабочие процессы ИИ. Оба достигают одинаковых возможностей редактора, без существенной разницы в производительности.

Клиенты ИИ обычно автоматически запускают сервер MCP. Хотя сервер работает автономно, инструменты редактора требуют активного Редактора с пакетом Pipeline. Рассматривайте MCP как альтернативный интерфейс, если по какой-либо причине ваши инструменты работают некорректно. В большинстве случаев Unity CLI будет лучшим вариантом.

Настройте ваш клиент ИИ с:

# Посмотрите, какие агенты поддерживаются

unity mcp configure --list

# Добавьте сервер в Claude Code

unity mcp configure claude-code

# Или к Курсору, ограниченный только текущим проектом

unity mcp configure cursor --local

# Предпросмотр изменения конфигурации без записи

unity mcp configure vscode --dry-run

20. Агент Unity для CLI

Unity поставляется с агентом для CLI. Это может помочь вашему агенту знать, какие команды существуют и как их вызывать. CLI может установить его для вас:

# Вывести доступные навыки без их установки

навык Unity

# Перечислить файлы, из которых состоит навык

unity skill show --list

# Показать поддерживаемые клиенты и статус установки

unity skill install --list

# Установите его в ваш AI-клиент

unity skill install claude-code

Обновление до последней версии

обновление навыка Unity

Каковы мои дальнейшие действия?

Надеюсь, это было полезное краткое изложение команд. Как упоминалось, вам не нужно запоминать всё, но знание нескольких базовых команд может быть очень полезным. В нашей следующей статье мы более подробно рассмотрим работу с Claude Code и Unity. Счастливого кодинга игры!