Перейти к содержанию

Unity CLI, Pipeline и agent skills

Настройка проверена 11 октября 2026 года. Корень Git-репозитория: C:\Projects\IdleWorldDomimation. Корень Unity-проекта: C:\Projects\IdleWorldDomimation\IdleWorldDominationUnity.

Установленные компоненты

Компонент Состояние
Unity CLI Обновлён с 1.0.0-beta.11 до 1.0.0-beta.13; %LOCALAPPDATA%\Unity\bin\unity.exe
Unity Editor Проект использует 7000.0.0a7, согласно ProjectSettings/ProjectVersion.txt
Unity Pipeline com.unity.pipeline версии 0.8.0-exp.1 уже установлен в Packages/manifest.json; обновление не требовалось
Авторизация unity auth status подтвердил активную сессию; секреты не записываются в проект
Официальные skills Все 34 skills из Unity-Technologies/skills, ревизия 9d282100540601cfddc4bbd69f36a239d7a6f55c
Skills плагина ArkTarusov Все 3 skills из ArkTarusov/unity-cli-plugin, ревизия 1b8611dbd61eef663d4aa65d1b289cf5c033b5ad

Skills установлены через skill-installer в C:\Users\vova\.codex\skills, вместе с их references и scripts. Для другой машины каталог определяется через $CODEX_HOME/skills либо $HOME/.codex/skills. Они доступны агенту со следующего сообщения. Репозиторий игры содержит инструкции, а сами skills являются локальной установкой пользователя.

ArkTarusov установлен в формате Agent Skills, который поддерживает его README для Codex; отдельная регистрация в меню Plugins не выполнялась. Его skill unity-pipeline переименован в unity-pipeline-operations, включая frontmatter и ссылки из unity-cli-core, чтобы не конфликтовать с официальным unity-pipeline. Остальные файлы skills сохранены в исходном виде.

Проверка и команды

Set-Location 'C:\Projects\IdleWorldDomimation\IdleWorldDominationUnity'
$unityCli = Join-Path $env:LOCALAPPDATA 'Unity\bin\unity.exe'
$unityProject = (Get-Location).Path

& $unityCli --version
& $unityCli --json --non-interactive auth status
& $unityCli --json --non-interactive pipeline list
& $unityCli --json --non-interactive status --project-path $unityProject
& $unityCli --json --non-interactive command --project-path $unityProject editor_status

# В beta.13 вызов без фильтра выводит теги, а не полные схемы команд.
& $unityCli --json --non-interactive command --project-path $unityProject --query console --detail full
& $unityCli --json --non-interactive command --project-path $unityProject recompile_status
& $unityCli --json --non-interactive command --project-path $unityProject console --level error --tail 50
& $unityCli --json --non-interactive command --project-path $unityProject console_status

В pipeline list найти именно этот проект и проверить isRunning, hasPipelinePackage, pipelineServer.isReachable: все должны быть true. Порт назначается динамически; не фиксировать текущий порт в командах. Проверять код завершения, JSON success, параметры data.parameters и результат операции.

Работать через уже открытый Editor. Не запускать вторую копию или batchmode для того же открытого проекта. Для длительных операций читать соответствующий *_status до завершения. Перед изменениями C# при неактивном окне Editor включить set_autotick --enable true, выполнить recompile и дождаться успешного recompile_status.

Команда get_console_logs --severity error --limit 50 из прежних инструкций отсутствует. Проверенная замена: console --level error --tail 50; console_status отдельно показывает состояние буфера и Console. Команды и параметры сверять с живой схемой, поскольку версии CLI и Pipeline меняются.

Результат проверки: целевой Editor отвечает ready, Pipeline доступен, recompile_status сообщает completed, failed=false, compilationFailed=false. Проверены 37 установленных skills без повторяющихся frontmatter name. Буфер Console содержит исторические ошибки UI, Addressables и предыдущих компиляций; это не чистый журнал текущей задачи. Проверочный вызов устаревшего get_console_logs также добавил диагностическую запись об отсутствующей команде; журнал не очищался. Игровое поведение и ручные acceptance checks не проверялись. Изменения категории feature затрагивают только инструменты и документацию; established/core code не менялся.

Установка на другой машине и обновление

Официальные инструкции: Unity CLI и Pipeline package.

Проверить CLI в PATH и по указанному выше абсолютному пути. Если его действительно нет, скачать и выполнить официальный PowerShell installer https://unity.com/install.ps1, затем открыть новую оболочку и проверить unity --version. Обновление: unity self-update --check --json, затем unity self-update --yes в рамках авторизованной задачи настройки инструментов.

Если Pipeline отсутствует, после авторизации выполнить из корня Unity-проекта:

unity auth login
unity --json --non-interactive pipeline install --project-path . --package-version 0.8.0-exp.1
unity --json --non-interactive pipeline list

Дождаться загрузки пакета и завершения компиляции. Не выполнять --force при уже установленном актуальном пакете без необходимости.

Для повторной установки skills использовать skill-installer/scripts/install-skill-from-github.py из локального каталога системных skills Codex:

  • Официальный репозиторий: --repo Unity-Technologies/skills --ref 9d282100540601cfddc4bbd69f36a239d7a6f55c --path <каталоги skills/* с SKILL.md>; установить все 34 каталога, включая references/scripts.
  • ArkTarusov: --repo ArkTarusov/unity-cli-plugin --ref 1b8611dbd61eef663d4aa65d1b289cf5c033b5ad --path skills/unity-cli-core skills/unity-editors.
  • Отдельно ArkTarusov Pipeline: --repo ArkTarusov/unity-cli-plugin --ref 1b8611dbd61eef663d4aa65d1b289cf5c033b5ad --path skills/unity-pipeline --name unity-pipeline-operations; затем изменить frontmatter name на unity-pipeline-operations и соответствующие ссылки в unity-cli-core/SKILL.md.

Installer отказывается перезаписывать существующие каталоги. Перед авторизованным обновлением сохранить их резервные копии, установить выбранную ревизию и повторить переименование ArkTarusov. Обновить таблицу версий и проверить подключение. Общая команда npx skills add из upstream README не учитывает локальное переименование одинаковых skills.

Приоритет инструкций

Следовать ../AGENTS.md и ../IdleWorldDominationUnity/AGENTS.md. Официальный unity-cli служит актуальным справочником; unity-pipeline описывает цикл Editor; unity-pipeline-operations дополняет правилами аргументов, сохранения сцен и восстановления. Для конкретной подсистемы читать соответствующий официальный skill.

Примеры из upstream skills не отменяют правила проекта: сцены, префабы и сериализованные assets изменяются через Pipeline; YAML, миграционные editor scripts и menu commands для таких изменений запрещены. Проверка инструментов не подтверждает игровое поведение: игровые acceptance checks остаются ручными.