buildPlayerOptions | 提供各种选项来控制 BuildPipeline.BuildPlayer 的行为。 |
BuildReport 一个包含构建过程信息的 BuildReport 对象。
构建播放器。
使用此函数以编程方式创建项目的构建版本。
调用此方法将使编辑器脚本中引用 GameObjects 的任何变量失效,因此在调用后需要重新获取它们。
脚本可以通过实现受支持的回调接口(例如 BuildPlayerProcessor、IPreprocessBuildWithReport、IProcessSceneWithReport 和 IPostprocessBuildWithReport)在构建期间的特定时间点运行。
注意:请注意,对 脚本符号 的更改仅在下一次域重新加载(脚本重新编译时)生效。
这意味着,如果您使用 PlayerSettings.SetDefineSymbolsForGroup 通过代码更改定义的脚本符号,但在调用此函数之前没有进行域重新加载,则这些更改将不会生效。
这也意味着,即使您尝试为其他目标平台构建,当前活动目标平台定义的内置脚本符号(例如 UNITY_STANDALONE_WIN 或 UNITY_ANDROID)仍然存在,这可能导致错误的代码编译到您的构建版本中。
其他资源:BuildPlayerWindow.DefaultBuildMethods.BuildPlayer。
using UnityEditor; using UnityEngine; using UnityEditor.Build.Reporting;
// Output the build size or a failure depending on BuildPlayer.
public class BuildPlayerExample { [MenuItem("Build/Build iOS")] public static void MyBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity", "Assets/Scene2.unity" }; buildPlayerOptions.locationPathName = "iOSBuild"; buildPlayerOptions.target = BuildTarget.iOS; buildPlayerOptions.options = BuildOptions.None;
BuildReport report = BuildPipeline.BuildPlayer(buildPlayerOptions); BuildSummary summary = report.summary;
if (summary.result == BuildResult.Succeeded) { Debug.Log("Build succeeded: " + summary.totalSize + " bytes"); }
if (summary.result == BuildResult.Failed) { Debug.Log("Build failed"); } } }
buildPlayerWithProfileOptions | 在使用构建配置文件时,提供各种选项来控制 BuildPipeline.BuildPlayer 的行为。 |
BuildReport 一个包含构建过程信息的 BuildReport 对象。
从特定的构建配置文件构建播放器。
levels | 要包含在构建版本中的场景。如果为空,则构建仅包含当前打开的场景。路径相对于项目文件夹,例如 Assets/MyLevels/MyScene.unity 。 |
locationPathName | 应用程序将构建到的路径。有关要包含在路径中的平台扩展信息,请参阅 目标平台的构建路径要求。 |
target | 要构建的 BuildTarget。 |
options | 其他 BuildOptions,例如是否运行构建的播放器。 |
BuildReport 一个包含构建过程信息的 BuildReport 对象。
构建播放器。这些重载仍然受支持,但将被替换。请改用 BuildPlayer(BuildPlayerOptions buildPlayerOptions) 和 BuildPlayer(BuildPlayerWithProfileOptions buildPlayerWithProfileOptions)。