Version: 2021.3

EditorUserBuildSettings.SwitchActiveBuildTarget

切换到手册
Obsolete public static bool SwitchActiveBuildTarget (BuildTarget target);
public static bool SwitchActiveBuildTarget (BuildTargetGroup targetGroup, BuildTarget target);

参数

target 目标构建平台。
targetGroup 构建目标组。

返回

bool 如果已成功切换构建目标,则为 true,否则为 false(例如许可证检查失败、文件丢失或用户通过 UI 取消了操作)。

描述

选择要激活的新构建目标。

效果等同于通过编辑器中的 Build Player 对话框更改构建目标。

在更改当前的活动构建目标后,此函数将重新导入受当前平台设置影响的资源,然后返回。所有脚本文件都会在下一次编辑器更新时进行编译。要在重新导入资源之前编译脚本,请参阅 SwitchActiveBuildTargetAsync

如果给定目标是一个独立平台目标,则调用 SwitchActiveBuildTarget 还会影响 EditorUserBuildSettings.selectedStandaloneTarget

“注意”:在batch mode下运行编辑器时,此方法不可用。这是因为更改构建目标需要重新编译给定目标的脚本代码,而这在执行脚本代码时无法完成(这在编辑器中不是问题,因为操作只是延迟,但是批量模式会在执行过指定的脚本代码后立即退出)。要设置在批量模式下使用的构建目标,请使用 buildTarget 命令行切换。

using UnityEditor;

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