Unity 6.3
0 онлайн 1 гость 3 в системе
Вход

EditorUserBuildSettings.SwitchActiveBuildTargetAsync

Declaration

public static bool SwitchActiveBuildTargetAsync(BuildTargetGroup targetGroup, BuildTarget target);

Параметры

Параметр Описание
targetGroup Создание целевой группы.
Цель Платформа целевой сборки.

Возвращаемое значение

логическое True, если цель сборки была успешно переключена, false в противном случае (например, если проверка лицензий не удалась, файлы отсутствуют или пользователь отменил операцию с помощью UI).

Описание

Выберите новую цель сборки, которая будет активна во время следующего обновления Редактора.

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

Все файлы скриптов и ресурсы, на которые влияют текущие параметры платформы, перекомпилируются или повторно импортируются при следующем обновлении Редактора при изменении активного объекта сборки. Дополнительные сведения о том, как немедленно импортировать ресурсы, см. SwitchActiveBuildTarget.

Если заданная цель является автономной целью, вызов SwitchActiveBuildTarget также затрагивает EditorUserBuildSettings.selectedStandaloneTarget.

Этот метод недоступен при запуске Редактора в пакетный режим. Изменение цели сборки требует перекомпиляции кода скрипта для данной цели, что невозможно сделать во время выполнения кода скрипта. Это не проблема в Редакторе, так как операция откладывается до следующего обновления Редактора. Однако в пакетном режиме Редактор останавливается после выполнения указанного кода скрипта, так что откладывание операции невозможно. Чтобы установить цель сборки для использования в пакетном режиме, используйте buildtarget (создать цель) аргумент командной строки.

using UnityEngine;
using UnityEditor;
using UnityEditor.Build;

public class SwitchPlatformExample : IActiveBuildTargetChanged { [MenuItem("Example/Switch Platform")] public static void PerformSwitch() { // Switch to Windows standalone build. EditorUserBuildSettings.SwitchActiveBuildTargetAsync(BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows); }

public int callbackOrder { get { return 0; } } public void OnActiveBuildTargetChanged(BuildTarget previousTarget, BuildTarget newTarget) { Debug.Log("Active platform is now " + newTarget); } }