void Start() { string buildPath = PublisherUtils.GetFirstValidBuildPath(); if (string.IsNullOrEmpty(buildPath)) { Debug.LogError("There are no valid builds"); return; } Debug.Log("Your most recent valid build is located at: " + buildPath); }
/// <summary> /// Triggers the "Build Game" dialog /// </summary> /// <returns>True and the build path if everything goes well and the build is done, false and empty string otherwise.</returns> public static (bool, string) OpenBuildGameDialog(BuildTarget activeBuildTarget) { string path = string.Empty; try { string defaultOutputDirectory = PublisherUtils.GetFirstValidBuildPath(); if (string.IsNullOrEmpty(defaultOutputDirectory) && CreateDefaultBuildsFolder) { defaultOutputDirectory = DefaultBuildsFolderPath; if (!Directory.Exists(defaultOutputDirectory)) { Directory.CreateDirectory(defaultOutputDirectory); } } path = EditorUtility.SaveFolderPanel(Localization.Tr("DIALOG_CHOOSE_BUILD_FOLDER"), defaultOutputDirectory, ""); if (string.IsNullOrEmpty(path)) { return(false, string.Empty); } BuildPlayerOptions buildOptions = new BuildPlayerOptions(); buildOptions.scenes = EditorBuildSettingsScene.GetActiveSceneList(EditorBuildSettings.scenes); buildOptions.locationPathName = path; buildOptions.options = BuildOptions.None; buildOptions.targetGroup = BuildPipeline.GetBuildTargetGroup(activeBuildTarget); buildOptions.target = activeBuildTarget; buildStartedFromTool = true; BuildReport report = BuildPipeline.BuildPlayer(buildOptions); buildStartedFromTool = false; AnalyticsHelper.BuildCompleted(report.summary.result, report.summary.totalTime); switch (report.summary.result) { case BuildResult.Cancelled: //Debug.LogWarning("[Version and Build] Build cancelled! " + report.summary.totalTime); case BuildResult.Failed: //Debug.LogError("[Version and Build] Build failed! " + report.summary.totalTime); return(false, string.Empty); case BuildResult.Succeeded: //Debug.Log("[Version and Build] Build succeeded! " + report.summary.totalTime); case BuildResult.Unknown: //Debug.Log("[Version and Build] Unknown build result! " + report.summary.totalTime); break; } } catch (BuildPlayerWindow.BuildMethodException /*e*/) { //Debug.LogError(e.Message); return(false, string.Empty); } return(true, path); }
void OnLocateBuildClicked() { AnalyticsHelper.ButtonClicked(string.Format("{0}_LocateBuild", CurrentTab)); string lastBuildPath = PublisherUtils.GetFirstValidBuildPath(); if (string.IsNullOrEmpty(lastBuildPath) && PublisherBuildProcessor.CreateDefaultBuildsFolder) { lastBuildPath = PublisherBuildProcessor.DefaultBuildsFolderPath; if (!Directory.Exists(lastBuildPath)) { Directory.CreateDirectory(lastBuildPath); } } string buildPath = EditorUtility.OpenFolderPanel(Localization.Tr("DIALOG_CHOOSE_FOLDER"), lastBuildPath, string.Empty); if (string.IsNullOrEmpty(buildPath)) { return; } if (!PublisherUtils.BuildIsValid(buildPath)) { Store.Dispatch(new OnErrorAction() { errorMsg = Localization.Tr("ERROR_BUILD_CORRUPTED") }); return; } PublisherUtils.AddBuildDirectory(buildPath); if (CurrentTab != TabUpload) { return; } SetupUploadTab(); }