Browse Source

Fixed multi-platform builds by switching active build target between builds

master
Nico de Poel 4 years ago
parent
commit
c7dd98b2d2
  1. 10
      Assets/Scripts/Editor/BuildScript.cs

10
Assets/Scripts/Editor/BuildScript.cs

@ -2,6 +2,7 @@ using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEditor; using UnityEditor;
using UnityEditor.Build;
using UnityEngine; using UnityEngine;
public static class BuildScript public static class BuildScript
@ -18,17 +19,20 @@ public static class BuildScript
{ {
DoBuild("XboxOne", BuildTarget.GameCoreXboxOne, buildOptions); DoBuild("XboxOne", BuildTarget.GameCoreXboxOne, buildOptions);
DoBuild("XboxSeries", BuildTarget.GameCoreXboxSeries, 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); DoBuild("Windows/EpicVoiceTest.exe", BuildTarget.StandaloneWindows64, buildOptions);
} }
private static void DoBuild(string name, BuildTarget buildTarget, BuildOptions 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); var report = BuildPipeline.BuildPlayer(Scenes, $"Build/{name}", buildTarget, buildOptions);
if (report.summary.totalErrors > 0) if (report.summary.totalErrors > 0)
{ {
throw new Exception($"{name} build had errors");
throw new Exception($"{buildTarget} build had errors");
} }
} }
} }
Loading…
Cancel
Save