using System; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEditor.Build; using UnityEngine; public static class BuildScript { private static readonly string[] Scenes = { "Assets/Scenes/SampleScene.unity" }; [MenuItem("Build/Build All (Development)")] public static void DoBuild() { DoBuild(BuildOptions.Development | BuildOptions.AllowDebugging); } private static void DoBuild(BuildOptions buildOptions) { DoBuild("XboxOne", BuildTarget.GameCoreXboxOne, buildOptions); DoBuild("XboxSeries", BuildTarget.GameCoreXboxSeries, buildOptions); DoBuild("PS4/EpicVoiceTest", BuildTarget.PS4, buildOptions); DoBuild("PS5/EpicVoiceTest", BuildTarget.PS5, buildOptions); DoBuild("Windows/EpicVoiceTest.exe", BuildTarget.StandaloneWindows64, buildOptions); } private static void DoBuild(string name, BuildTarget buildTarget, BuildOptions buildOptions) { var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); EditorUserBuildSettings.SwitchActiveBuildTarget(buildTargetGroup, buildTarget); var report = BuildPipeline.BuildPlayer(Scenes, $"Build/{name}", buildTarget, buildOptions); if (report.summary.totalErrors > 0) { throw new Exception($"{buildTarget} build had errors"); } } }