Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Аргументы командной строки редактора Unity

Запуск Unity

В macOS введите в терминал следующее, чтобы запустить Unity:

/Applications/Unity/Unity.app/Contents/MacOS/Unity

В Windows введите в командной строке следующее, чтобы запустить Unity:

"C:\Program Files\Unity\Editor\Unity.exe"

Когда вы запускаете Unity таким образом, он получает команды и информацию при запуске, что может быть полезно для наборов тестов, автоматических сборок и других производственных задач.

Аргументы конфигурации

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

Команда Подробности:
-createProject Создайте пустой проект по указанному пути.
-disable-assembly-updater Укажите разделенный пробелами список имен сборок в качестве параметров, которые Unity будет игнорировать при автоматических обновлениях.

Список имен сборок, разделенных пробелами, является необязательным: передайте параметры командной строки без имен сборок, чтобы игнорировать все сборки, как в примере 1.

Пример 1
unity.exe -disable-assembly-updater

Пример 2
unity.exe -disable-assembly-updater A1.dll subfolder/A2.dll

В примере 2 есть два имени сборки, одно с путем. Пример 2 игнорирует A1.dll, независимо от того, в какой папке он хранится, и игнорирует A2.dll, только если он хранится в папке подпапка:

Если вы указываете сборку в параметре командной строки -disable-assembly-updater (или если вы не указываете сборки), Unity регистрирует следующее сообщение в Editor.log:

Предупреждение [Assembly Updater]: игнорирование сборки [assembly_path] в соответствии с запросом параметра командной строки».

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

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

Примечание. Если вы отключите обновление любой сборки, которую необходимо обновить, вы можете получить ошибки во время компиляции, во время выполнения или в обоих случаях, которые трудно отследить.

-disable-gpu-skinning Отключение графического процессора (GPU) skinningПроцесс привязки соединений костей к вершинам меша или «кожи» персонажа. Выполняется с помощью внешнего инструмента, такого как Blender или Autodesk Maya. Подробнее
См. в Словарь
при запуске.
-executeMethod or -executeMethod Выполните статический метод, как только Unity откроет проект и после завершения необязательного обновления сервера активов. Вы можете использовать это для таких задач, как непрерывная интеграция, выполнение модульных тестов, создание сборок или подготовка данных.

Чтобы вернуть ошибку из процесса командной строки, либо сгенерируйте исключение, из-за которого Unity завершит работу с кодом возврата 1, либо вызовите EditorApplication.Exit с ненулевым кодом возврата.

Чтобы передать параметры, добавьте их в командную строку и получите внутри функции с помощью System.Environment.GetCommandLineArgs. Чтобы использовать -executeMethod, вам необходимо поместить вложенный скрипт в папку редактора. Выполняемый метод должен быть определен как статический..

-exportPackage Экспорт пакета по заданному пути (или набору заданных путей). В этом примере exportAssetPath — это папка (относительно корня проекта Unity) для экспорта из проекта Unity, а exportFileName — имя пакета. Эта опция экспортирует только целые папки за раз. Обычно вам нужно использовать эту команду с аргументом -projectPath.
-importPackage Импортировать заданный пакет ресурсовколлекцию файлов и данных из проектов Unity или элементов проектов, которые сжимаются и хранятся в одном файле, похожем на Zip-файлы, с расширением .unitypackage. Пакеты ресурсов — это удобный способ совместного использования и повторного использования проектов и коллекций ресурсов Unity. Подробнее
См. в Словарь
. Unity не отображает никакого диалога импорта.
-job-worker-count Укажите максимальное количество потоков для Unity JobQueue Число исполнителей заданий. Вы также можете установить это значение как job-worker-count= в boot.config для автономного проигрывателя Unity.
-logFile Укажите, куда Unity записывает автономный файл журнала Editor или Windows/Linux/OSX. Для вывода в консоль укажите - для имени пути. В Windows укажите параметр -, чтобы направить вывод на stdout, который по умолчанию не является консолью.
-noUpm Отключает диспетчер пакетов Unity.
-openfile Откройте проект по пути к сцене или файлу пакета. В качестве альтернативы вы можете использовать аргумент -projectPath.
-password Введите пароль в форму входа во время активации редактора Unity.
-projectPath Откройте проект по указанному пути. Если путь содержит пробелы, заключите его в кавычки.
-quit Выйдите из редактора Unity после завершения выполнения других команд. Это может привести к тому, что сообщения об ошибках будут скрыты (но они по-прежнему будут отображаться в файле Editor.log).
-releaseCodeOptimization Включает режим оптимизации кода выпуска, переопределяя текущий режим оптимизации кода по умолчанию для сеанса.
-setDefaultPlatformTextureFormat (Android only) Установите текстуру по умолчанию сжатиеМетод хранения данных, который уменьшает объем требуемого места для хранения. См. Сжатие текстур, Сжатие анимации, Сжатие звука, Сжатие компоновки.
Посмотрите в Словарь
нужный формат, прежде чем импортировать текстуру или создать проект. Это сделано для того, чтобы вам не пришлось снова импортировать текстуру в нужном формате. Доступные форматы: dxt, pvrtc, atc и т. д., etc2 и astc.
-silent-crashes Не позволяйте Unity отображать диалоговое окно, которое появляется при сбое автономного проигрывателя. Этот аргумент полезен, когда вы хотите запускать проигрыватель в автоматизированных сборках или тестах, когда вы не хотите, чтобы диалоговое окно мешало автоматизации.
-username Введите имя пользователя в форму входа во время активации редактора Unity..
-vcsMode Установите режим контроля версий. Доступные режимы: "Видимые метафайлы", "Скрытые метафайлы", Perforce и PlasticSCM. Вы можете использовать дополнительные флаги для заполнения полей конфигурации для данного режима контроля версий. Эти флаги основаны на методе Provider.GetActiveConfigFields. Например, вы можете использовать -vcPerforceUsername, -vcPerforcePassword, -vcPerforceWorkspace и -vcPerforceServer, чтобы задать поля имени пользователя, рабочей области и сервера Perforce.

Примечание. Аргументы , содержащие пробелы, должны быть заключены в двойные кавычки (").| |-vcsModeSession |Установите режим контроля версий для этого сеанса. Доступные режимы: "Видимые метафайлы", "Скрытые метафайлы", Perforce и PlasticSCM. Вы можете использовать дополнительные флаги для заполнения полей конфигурации для данного режима контроля версий. Эти флаги основаны на методе Provider.GetActiveConfigFields. Например, вы можете использовать -vcPerforceUsername, -vcPerforcePassword, -vcPerforceWorkspace и -vcPerforceServer, чтобы задать поля имени пользователя, рабочей области и сервера Perforce.

Примечание. Аргументы , содержащие пробелы, должны быть заключены в двойные кавычки (").

-version Выведите номер версии редактора Unity в командной строке, не запуская редактор.

Аргументы пакетного режима

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

Команда Подробности:
-accept-apiupdate Используйте этот параметр командной строки, чтобы указать, что APIUpdater должен запускаться при запуске Unity в пакетном режиме.

Пример:

unity.exe -accept-apiupdate -batchmode [другие параметры]

APIUpdater не запустится, если вы не укажете этот аргумент командной строки при запуске Unity в пакетном режиме. Это может привести к ошибкам компилятора.

-batchmode Запустите Unity в пакетном режиме. В пакетном режиме Unity запускает аргументы командной строки без участия человека. Он также подавляет всплывающие окна, требующие вмешательства человека (например, окно сохранения сцены); однако сам редактор Unity открывается как обычно. Вы всегда должны запускать Unity в пакетном режиме при использовании аргументов командной строки, потому что это позволяет автоматизации работать без перерыва.

Когда во время выполнения кода скрипта возникает исключение, происходит сбой обновления сервера активов или другие операции, Unity немедленно завершает работу с кодом возврата 1.

В пакетном режиме Unity отправляет на консоль минимальную версию выходных данных журнала. Однако файлы журнала по-прежнему содержат полную информацию журнала. Вы не можете открыть проект в пакетном режиме, пока тот же проект открыт в Редакторе; одновременно может работать только один экземпляр Unity.

Чтобы проверить, работает ли редактор или автономный проигрыватель в пакетном режиме, используйте оператор Application.isBatchMode.

Если проект еще не был импортирован при использовании -batchmode, целевая платформа используется по умолчанию. Чтобы принудительно выбрать другую платформу, используйте параметр -buildTarget.

-nographics Когда вы запускаете это в пакетном режиме, оно не инициализирует графическое устройство. Затем вы можете запускать автоматизированные рабочие процессы на машинах без графического процессора. Автоматизированные рабочие процессы работают только тогда, когда у вас есть окно в фокусе, в противном случае вы не можете отправлять смоделированные команды ввода. -nographics не позволяет запекать GI, потому что Enlightenсистема освещения от Geomerics, используемый в Unity для создания карт освещения и глобального освещения в реальном времени. Подробнее
Для см. Словарь
требуется ускорение графического процессора.

Создать аргументы

Используйте следующие аргументы для создания проигрывателей для различных платформ из командной строки. Дополнительные сведения о создании проигрывателей с аргументами командной строки см. в разделе аргументы командной строки Unity Standalone Player.

Команда Подробности:
-buildLinux64Player Создайте 64-разрядный автономный проигрыватель Linux (например, -buildLinux64Player path/to/your/build).
-buildOSXUniversalPlayer Создайте 64-разрядный автономный проигрыватель Mac OSX (например, -buildOSXUniversalPlayer path/to/your/build.app).
-buildTarget Выберите активную цель сборки перед загрузкой проекта. Возможные варианты:

• Standalone
• Win
• Win64
• OSXUniversal
• Linux64
• iOS
• Android
• WebGL
• XboxOne
• PS4
• WindowsStoreApps
• Switch
• tvOS

-buildWindowsPlayer Создайте 32-разрядный автономный проигрыватель Windows (например, -buildWindowsPlayer path/to/your/build.exe).
-buildWindows64Player Создайте 64-разрядный автономный проигрыватель Windows (например, -buildWindows64Player path/to/your/build.exe).

Кэшировать аргументы сервера

Используйте следующие аргументы, чтобы настроить использование Unity сервера кэширования. Дополнительную информацию см. в разделе Кэш-серверАвтономное приложение, которое можно запустить на локальном компьютер, на котором хранятся данные импортированных активов, чтобы сократить время, необходимое для импорта активов. Подробнее
См. в Словарь
.

Команда Подробности:
-EnableCacheServer Сообщает Unity, что нужно использовать более новый Accelerator Cache Server. Вы также должны использовать -cacheServerEndpoint, чтобы указать адрес.
-cacheServerEndpoint Указывает адрес конечной точки, если вы используете новый сервер кэширования Accelerator.

Пример: -cacheServerEndpoint 127.0.0.1:10080. Это переопределяет любую конфигурацию, хранящуюся в настройках редактора. Используйте это для подключения нескольких экземпляров Unity к разным серверам кэширования.

-cacheServerNamespacePrefix Установите префикс пространства имен для более нового сервера кэширования Accelerator. Используется для группировки данных на сервере кэширования.

Пример: -cacheServerNamespacePrefix MyProject

-cacheServerEnableDownload Включите загрузку с нового кэш-сервера Accelerator.

Пример:-cacheServerEnableDownload true

-cacheServerEnableUpload Включите загрузку на более новый сервер кэширования Accelerator.

Пример:-cacheServerEnableUpload false

-CacheServerIPAddress Позволяет использовать старый (v1) сервер кэширования и указывает IP-адрес для подключения при запуске. Это переопределяет любую конфигурацию, хранящуюся в настройках редактора. Используйте это для подключения нескольких экземпляров Unity к разным серверам кэширования v1..

Аргументы отладки

Команда Подробности:
-disableManagedDebugger Отключает сокет прослушивания отладчика.
-diag-debug-shader-compiler Unity запускает только один экземпляр программы ShaderA, работающей на графическом процессоре. Подробнее
См. в Словарь
Компилятор, и устанавливает время ожидания равным единице час. Полезно для отладки проблем компилятора шейдеров.
-debugCodeOptimization Включает режим оптимизации кода отладки, переопределяя текущий режим оптимизации кода по умолчанию для сеанса..
-enableCodeCoverage EВключает покрытие кода и предоставляет доступ к Coverage API.
-stackTraceLogType Разрешить детальную отладку. Все настройки позволяют выбрать Нет, Только скрипт и Полный (например, -stackTraceLogType Full).

Аргументы API графики

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

Команда Подробности:
-force-d3d11 (Windows only) Заставьте редактор использовать Direct3D 11 для рендерингапроцесса вывода графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
. Обычно графический API зависит от настроек игроканастроек, которые позволяют вам устанавливать различные параметры для конкретного игрока для окончательной игры, созданной Единство. Подробнее
См. в Словарь
(обычно по умолчанию используется D3D11).
-force-d3d12 (Windows only) Заставьте редактор использовать Direct3D 12 для рендеринга. Обычно графический API зависит от настроек проигрывателя.
-force-glcore Заставьте редактор использовать основной профиль OpenGL 3/4 для рендеринга. Редактор пытается использовать наилучшую доступную версию OpenGL и все расширения OpenGL, предоставляемые драйверами OpenGL. Если платформа не поддерживается, редактор использует Direct3D.
-force-glcoreXY Аналогичен -force-glcore, но запрашивает конкретную версию контекста OpenGL. Допустимые значения для XY: 32, 33, 40, 41, 42, 43, 44 или 45.
-force-gles (Windows only) Заставьте редактор использовать OpenGL для встроенных систем для рендеринга. Редактор пытается использовать лучшую доступную версию OpenGL ES и все расширения OpenGL ES, предоставляемые драйверами OpenGL.
-force-glesXY (Windows only) Аналогичен -force-gles, но запрашивает конкретную версию контекста OpenGL ES. Допустимые значения для XY: 30, 31 или 32.
-force-vulkan Заставьте редактор использовать Vulkan для рендеринга. Обычно графический API зависит от настроек проигрывателя..
-force-clamped Используйте это с -force-glcoreXY, чтобы запретить Unity проверять наличие дополнительных расширений OpenGL, что позволит ему работать между платформами с одинаковыми путями кода.

Аргументы лицензии

Используйте следующие аргументы для обработки лицензии Unity или запуска редактора Unity с другими вариантами лицензии.

Команда Подробности:
-createManualActivationFile Шаг первый из трехшагового процесса, чтобы вручную активировать лицензию Unity. Дополнительные сведения см. в разделе Создание файла активации лицензии (.alf) из командной строки.
-force-free Запустите редактор так, как если бы на компьютере была установлена бесплатная лицензия Unity, даже если установлена лицензия Unity Pro.
-manualLicenseFile Третий шаг трехшагового процесса активации лицензии Unity вручную. Дополнительные сведения см. в разделе Создание файла активации лицензии (.alf) из командной строки.
-returnlicense Верните текущую активную лицензию на сервер лицензий. Дополнительную информацию см. в разделе Возврат лицензии.
-serial Активируйте лицензию Unity с указанным серийным номером. Дополнительные сведения см. в разделе Активация лицензии из командной строки.

Примечание. При использовании этого аргумента необходимо также использовать аргумент -batchmode. Также рекомендуется указывать аргумент -quit.

Металлические аргументы (только для macOS)

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

Команда Подробности:
-force-device-index При использовании Metal заставьте редактор использовать конкретное устройство графического процессора, передав ему индекс этого графического процессора (только для macOS).
-force-low-power-device (macOS only) Если вы используете Metal, заставьте редактор использовать устройство с низким энергопотреблением.
-force-metal Заставьте редактор использовать Metal в качестве графического API по умолчанию (только для macOS).

Аргументы профайлера

Используйте следующие аргументы, чтобы настроить использование Unity Profilerокна, которое поможет вам оптимизировать вашу игру. Он показывает, сколько времени вы тратите на различные области вашей игры. Например, он может сообщать о проценте времени, затраченном на рендеринг, анимацию или игровую логику. Подробнее
См. в Словарь
.

Команда Подробности:
-deepprofiling Включите параметр Deep Profiling для профилировщика процессора..
-profiler-enable Профилируйте запуск Player или Editor. Использование этого аргумента с проигрывателем дает тот же эффект, что и создание проигрывателя с включенным параметром Autoconnect Profiler в настройках сборки.

При использовании этого аргумента с редактором он начинает собирать и отображать информацию профилировщика в окне профилировщика при запуске редактора.

-profiler-log-file Tего аргумент настраивает профайлер Unity для потоковой передачи данных профиля в файл .raw при запуске. Это работает как для игроков, так и для редактора.
-profiler-capture-frame-count Этот аргумент устанавливает, сколько кадров Profiler должен захватить в профиле при потоковой передаче в файл .raw при запуске. Работает только на игроках.
-profiler-maxusedmemory По умолчанию maxUsedMemory для Unity Profiler составляет 16 МБ для проигрывателей и 256 МБ для редактора. Вы можете использовать этот аргумент, чтобы задать для параметра maxUsedMemory нестандартный размер при запуске (например, -profiler-maxusedmemory 16777216). Размер задается в байтах.

Примеры

*Скрипт C# в проекте:*

using UnityEditor; class MyEditorScript { static void PerformBuild () { string[] scenes = { "Assets/MyScene.unity" }; BuildPipeline.BuildPlayer(scenes, ...); } }

Следующая команда запускает Unity в пакетном режиме, выполняет метод MyEditorScript.PerformBuild и после завершения завершает работу.

Windows:

"C:\Program Files\Unity\Editor\Unity.exe" -quit -batchmode -projectPath "C:\Users\UserName\Documents\MyProject" -executeMethod MyEditorScript.PerformBuild

macOS:

/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath ~/UnityProjects/MyProject -executeMethod MyEditorScript.PerformBuild

Специальные аргументы командной строки редактора Unity

Вы должны использовать их только при особых обстоятельствах или по указанию службы поддержки Unity.

Команда Подробности:
-enableIncompatibleAssetDowngrade Используйте это, если у вас есть активы, созданные в более новой несовместимой версии Unity, которые вы хотите понизить для работы с вашей текущей версией Unity. Когда вы включаете это, Unity представляет вам диалоговое окно с запросом на подтверждение этого понижения, если вы пытаетесь открыть проект, для которого это требуется.

Примечание. Эта процедура не поддерживается и очень рискованна, и ее следует использовать только в крайнем случае.

Дополнительные аргументы редактора из пакетов

При установке этих пакетов доступны дополнительные аргументы командной строки редактора.

Package Подробности:
Burst См. документацию по пакету Burst.
Test Framework См. документацию по пакету Unity Test Framework.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3