You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
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); // PS4 doesn't feature C++ source code plugin support, so just ignore for now
|
|
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");
|
|
}
|
|
}
|
|
}
|