/// <summary> /// Builds presentation deck as a standalone application. /// </summary> /// <param name="deck">Slide Deck to build.</param> public static void BuildPresentation(SlideDeck deck) { string path = EditorUtility.SaveFolderPanel("Choose Location of the Presentation build", "", ""); if (string.IsNullOrEmpty(path)) { return; } updateLoaderScene(deck); deck.PrepareSlidesForBuild(); var scenes = SceneUtils.GetBuildScenes(deck, SlideDeck.PlayModeType.PlayMode, SlideDeck.VisibilityType.Visible); scenes.Insert(0, new EditorBuildSettingsScene(SceneUtils.LoaderScenePath, true)); var options = BuildOptions.ShowBuiltPlayer; if (EditorUserBuildSettings.development) { options |= BuildOptions.Development; } if (EditorUserBuildSettings.connectProfiler) { options |= BuildOptions.ConnectWithProfiler; } if (EditorUserBuildSettings.allowDebugging) { options |= BuildOptions.AllowDebugging; } try { string name; switch (EditorUserBuildSettings.activeBuildTarget) { case BuildTarget.StandaloneWindows: case BuildTarget.StandaloneWindows64: name = "Presentation.exe"; break; default: name = "Presentation"; break; } BuildPipeline.BuildPlayer(scenes.ToArray(), Path.Combine(path, name), EditorUserBuildSettings.activeBuildTarget, options); } catch (Exception e) { Debug.Log(e.Message); } }