У Unity появилась своя командная строка, и через неё можно выполнять C# прямо в запущенном редакторе без пересборки
Этьен Уиттом, вице-президент Unity по платформе разработки, объявил 20 июля о выходе Unity CLI. Это отдельный бинарник unity, который ставится одной командой и дальше сам умеет управлять редакторами, модулями, проектами и входом в аккаунт. Установка сама прописывает себя в PATH, обновление идёт командой unity upgrade.
Вторая часть анонса интереснее. Экспериментальный пакет com.unity.pipeline подключается к проекту одной командой и позволяет посылать команды в уже запущенный редактор или в отладочную сборку игры, целиком по локальному соединению.
Установка редактора с нужными модулями укладывается в одну строку: unity install 6000.2.10f1 -m android ios webgl. Вывод любой команды можно получить в JSON или TSV, ошибки уходят в stderr, результаты в stdout, коды возврата простые: 0 успех, 1 ошибка, 130 отмена. На сборочной машине вход выполняется служебным аккаунтом через переменные окружения, без браузера и ручных шагов, а unity doctor разбирает проблемы с окружением и учётными данными.
Любой статический метод в проекте становится командой, если пометить его атрибутом [CliCommand], параметры помечаются [CliArg], регистрировать ничего не нужно. Команда unity command eval выполняет произвольный код C# внутри живого редактора или плеера и возвращает результат, без пересборки проекта и перезагрузки домена. В статье показан ролик на 25 секунд, где агент по жалобе «игрок иногда проваливается сквозь пол» осматривает живую сцену, находит выключенный в рантайме коллайдер, включает обратно и перезапускает режим игры, чтобы проверить себя.
Сам CLI пока идёт по бета-каналу, а пакет Pipeline помечен как экспериментальный и требует Unity 6.0 LTS или новее. Установка через привычные brew, winget и apt обещана позже, сейчас предлагается скрипт с сайта. Замеров ускорения в статье нет, есть только утверждение, что нативный бинарник стартует заметно быстрее прежнего headless-режима Unity Hub.
Полная статья: https://unity.com/blog/meet-the-unity-cli
Судя по демонстрации, целились не столько в наши скрипты, сколько в агентов, которым нужно самим проверить, что починили :)
@make_game
Post #1971
1.69K

- 👍 9