BuildProfile.SetActiveBuildProfile
Declaration
public static void SetActiveBuildProfile(Build.Profile.BuildProfile buildProfile);Параметры
| Параметр | Описание |
|---|---|
| buildProfile | Профиль построения, который должен быть установлен в качестве активного профиля построения. Когда значение нулево, Unity устанавливает профиль платформы как активный. |
Описание
Задает активный профиль сборки.
Этот метод обновляет активный профиль сборки в Unity. При переключении на профиль сборки, предназначенный для неактивной платформы, эта функция реимпортирует ассеты, затрагиваемые настройками целевой платформы, а затем возвращается. Все файлы скриптов будут компилироваться при следующем обновлении Редактора.
Примечание: Этот метод недоступен для настройки профилей сборки, которые ориентированы на неактивную платформу, при запуске редактора в пакетный режим. Изменение платформы требует перекомпиляции кодов скриптов для данной платформы, что не может быть сделано во время выполнения кодов скриптов. Это не проблема в Редакторе, так как операция откладывается до следующего обновления Редактора. Однако, в пакетном режиме Редактор останется после выполнения указанного кода скрипта, так что отсрочка операции невозможна. Чтобы установить профиль сборки для неактивной платформы в пакетном режиме, используйте activeBuildProfile аргумент командной строки.
Дополнительные ресурсы: Профиль платформы, BuildProfile.GetActiveBuildProfile, AssetDatabase.LoadAssetAtPath.
using UnityEditor; using UnityEditor.Build.Profile;
public static class Builder { [MenuItem("Build/Build Active Profile")] public static void BuildActiveProfile() { var options = new BuildPlayerWithProfileOptions { buildProfile = BuildProfile.GetActiveBuildProfile(), locationPathName = "Builds/MyBuild" };
BuildPipeline.BuildPlayer(options); }
[MenuItem("Build/Set macOS Build Profile")] public static void SetActiveBuildProfile() { var specificBuildProfile = AssetDatabase.LoadAssetAtPath<BuildProfile>( "Assets/Settings/Build Profiles/macOS.asset" ); BuildProfile.SetActiveBuildProfile(specificBuildProfile); } }