Edited build script
This commit is contained in:
@@ -1,18 +1,20 @@
|
|||||||
using System.IO;
|
|
||||||
using UnityEditor;
|
|
||||||
|
|
||||||
public static class BuildScript
|
public static class BuildScript
|
||||||
{
|
{
|
||||||
|
// Helper: use EditorBuildSettings scenes if present, otherwise fall back to your test scene
|
||||||
|
static string[] ScenesToBuild() =>
|
||||||
|
EditorBuildSettings.scenes.Length > 0
|
||||||
|
? EditorBuildSettings.scenes.Where(s => s.enabled).Select(s => s.path).ToArray()
|
||||||
|
: new[] { "Assets/Scenes/TestScene.unity" };
|
||||||
|
|
||||||
[MenuItem("Build/Build Windows")]
|
[MenuItem("Build/Build Windows")]
|
||||||
public static void BuildWindows()
|
public static void BuildWindows()
|
||||||
{
|
{
|
||||||
string buildPath = "Builds/Windows";
|
var buildPath = "Builds/Windows";
|
||||||
if (!Directory.Exists(buildPath))
|
|
||||||
Directory.CreateDirectory(buildPath);
|
Directory.CreateDirectory(buildPath);
|
||||||
|
|
||||||
BuildPipeline.BuildPlayer(
|
BuildPipeline.BuildPlayer(
|
||||||
new[] { "Assets/Scenes/TestScene.unity" }, // Scenes to build
|
ScenesToBuild(),
|
||||||
Path.Combine(buildPath, "TestGame.exe"), // Output path
|
Path.Combine(buildPath, "TestGame.exe"),
|
||||||
BuildTarget.StandaloneWindows64,
|
BuildTarget.StandaloneWindows64,
|
||||||
BuildOptions.None
|
BuildOptions.None
|
||||||
);
|
);
|
||||||
@@ -21,15 +23,39 @@ public static class BuildScript
|
|||||||
[MenuItem("Build/Build Mac")]
|
[MenuItem("Build/Build Mac")]
|
||||||
public static void BuildMac()
|
public static void BuildMac()
|
||||||
{
|
{
|
||||||
string buildPath = "Builds/Mac";
|
var buildPath = "Builds/Mac";
|
||||||
if (!Directory.Exists(buildPath))
|
|
||||||
Directory.CreateDirectory(buildPath);
|
Directory.CreateDirectory(buildPath);
|
||||||
|
|
||||||
BuildPipeline.BuildPlayer(
|
BuildPipeline.BuildPlayer(
|
||||||
new[] { "Assets/Scenes/TestScene.unity" },
|
ScenesToBuild(),
|
||||||
Path.Combine(buildPath, "TestGame.app"),
|
Path.Combine(buildPath, "TestGame.app"),
|
||||||
BuildTarget.StandaloneOSX,
|
BuildTarget.StandaloneOSX,
|
||||||
BuildOptions.None
|
BuildOptions.None
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ? New: CI-friendly Android build
|
||||||
|
public static void BuildAndroidCI()
|
||||||
|
{
|
||||||
|
// Make sure we<77>re on the Android target (does nothing if already there)
|
||||||
|
EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Android, BuildTarget.Android);
|
||||||
|
|
||||||
|
// Optional: ensure .apk (set to .aab if you want App Bundle)
|
||||||
|
var buildDir = "Builds/Android";
|
||||||
|
Directory.CreateDirectory(buildDir);
|
||||||
|
var outputPath = Path.Combine(buildDir, "TestGame.apk");
|
||||||
|
|
||||||
|
// Optional CI toggles (strip development/build-report etc. if you prefer)
|
||||||
|
var options = BuildOptions.None;
|
||||||
|
|
||||||
|
var report = BuildPipeline.BuildPlayer(
|
||||||
|
ScenesToBuild(),
|
||||||
|
outputPath,
|
||||||
|
BuildTarget.Android,
|
||||||
|
options
|
||||||
|
);
|
||||||
|
|
||||||
|
if (report.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
|
||||||
|
throw new System.Exception("Android build failed: " + report.summary.result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user