/* This needs to live in a folder named "Editor", or it won't work. */ using System; using UnityEditor; using UnityEngine; public class BobTheBuilder { /* List of scenes to include in the build */ public static string[] scenes = { "Assets/HendrikMans/GAMENAME/Scenes/Game.unity" }; [MenuItem("GAMENAME/Build/All Targets")] public static void BuildAll() { BuildHTML5(); BuildWindows(); BuildMacOS(); BuildiOS(); BuildAndroid(); } [MenuItem("GAMENAME/Build/HTML5 (release)")] public static void BuildHTML5() { Debug.Log("Starting HTML5 Build!"); BuildPipeline.BuildPlayer( scenes, "Build/HTML5", BuildTarget.WebGL, BuildOptions.None); } [MenuItem("GAMENAME/Build/Windows (release)")] public static void BuildWindows() { Debug.Log("Starting Windows Build!"); BuildPipeline.BuildPlayer( scenes, "Build/Windows/GAMENAME.exe", BuildTarget.StandaloneWindows, BuildOptions.None); } [MenuItem("GAMENAME/Build/macOS (release)")] public static void BuildMacOS() { Debug.Log("Starting macOS Build!"); BuildPipeline.BuildPlayer( scenes, "Build/macOS/GAMENAME.app", BuildTarget.StandaloneOSX, BuildOptions.None); } [MenuItem("GAMENAME/Build/Android (release)")] static void BuildAndroid() { Debug.Log("Starting Android Build!"); PlayerSettings.Android.keystorePass = Environment.GetEnvironmentVariable("KEY_STORE_PASS"); PlayerSettings.Android.keyaliasPass = Environment.GetEnvironmentVariable("KEY_ALIAS_PASS"); BuildPipeline.BuildPlayer( scenes, "Build/Android/GAMENAME.aab", BuildTarget.Android, BuildOptions.None); } [MenuItem("GAMENAME/Build/iOS (release)")] static void BuildiOS() { Debug.Log("Starting iOS Build!"); BuildPipeline.BuildPlayer( scenes, "Build/iOS", BuildTarget.iOS, BuildOptions.AcceptExternalModificationsToPlayer); } }