From c7dd98b2d21934182f3264d92b060a715601a009 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Tue, 25 Jan 2022 13:25:17 +0100 Subject: [PATCH] Fixed multi-platform builds by switching active build target between builds --- Assets/Scripts/Editor/BuildScript.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Editor/BuildScript.cs b/Assets/Scripts/Editor/BuildScript.cs index ca89ab6..68e6f43 100644 --- a/Assets/Scripts/Editor/BuildScript.cs +++ b/Assets/Scripts/Editor/BuildScript.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using UnityEditor; +using UnityEditor.Build; using UnityEngine; public static class BuildScript @@ -18,17 +19,20 @@ public static class BuildScript { DoBuild("XboxOne", BuildTarget.GameCoreXboxOne, buildOptions); DoBuild("XboxSeries", BuildTarget.GameCoreXboxSeries, buildOptions); - // DoBuild("PS4", BuildTarget.PS4, buildOptions); - // DoBuild("PS5", BuildTarget.PS5, 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($"{name} build had errors"); + throw new Exception($"{buildTarget} build had errors"); } } }