Skip to content

Commit 30e821b

Browse files
committed
Fix build script and add enum for CodeOptimization options
1 parent f093356 commit 30e821b

File tree

3 files changed

+48
-9
lines changed

3 files changed

+48
-9
lines changed

Diff for: Assets/Scripts/Editor/BuildScript.cs

+12-9
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using UnityEditor;
1717
using UnityEditor.Build;
1818
using UnityEditor.Build.Reporting;
19+
using UnityEditor.Compilation;
1920
using UnityEngine;
2021
using UnityEngine.Rendering;
2122

@@ -32,22 +33,22 @@ public static class BuildScript
3233
private static readonly string Eol = Environment.NewLine;
3334
private static bool LogVerboseBatchMode = true;
3435
private static bool LogVerboseInEditor = false;
35-
private const string CodeOptimizationSpeed =
36+
private static readonly string CodeOptimizationSpeed =
3637
#if UNITY_2021_3_OR_NEWER
37-
"runtimespeedlto";
38+
CodeOptimizationWebGL.RuntimeSpeedLTO.ToString();
3839
#else
3940
"speed";
4041
#endif
41-
private const string CodeOptimizationSize =
42+
private static readonly string CodeOptimizationSize =
4243
#if UNITY_2021_3_OR_NEWER
43-
"disksizelto";
44+
CodeOptimizationWebGL.DiskSizeLTO.ToString();
4445
#else
4546
"size";
4647
#endif
4748

48-
private const string CodeOptimizationBuildTimes =
49+
private static readonly string CodeOptimizationBuildTimes =
4950
#if UNITY_2021_3_OR_NEWER
50-
"buildtimes";
51+
CodeOptimizationWebGL.BuildTimes.ToString();
5152
#else
5253
"size";
5354
#endif
@@ -124,7 +125,7 @@ public static void Build(string[] args)
124125
buildPlayerOptions.options |= BuildOptions.CompressWithLz4HC;
125126
PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;
126127
PlayerSettings.SetIl2CppCompilerConfiguration(BuildTargetGroup.WebGL, Il2CppCompilerConfiguration.Master);
127-
#if UNITY_2021_2_OR_NEWER
128+
#if UNITY_2022_1_OR_NEWER
128129
PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget, Il2CppCodeGeneration.OptimizeSize);
129130
#endif
130131
}
@@ -134,8 +135,10 @@ public static void Build(string[] args)
134135
PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.FullWithStacktrace;
135136
PlayerSettings.SetIl2CppCompilerConfiguration(BuildTargetGroup.WebGL, Il2CppCompilerConfiguration.Debug);
136137
SetWebGlOptimization(CodeOptimizationBuildTimes);
137-
#if UNITY_2021_2_OR_NEWER
138+
#if UNITY_2022_1_OR_NEWER
138139
PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget, Il2CppCodeGeneration.OptimizeSize);
140+
#endif
141+
#if UNITY_2021_2_OR_NEWER
139142
PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Embedded;
140143
#else
141144
PlayerSettings.WebGL.debugSymbols = true;
@@ -152,7 +155,7 @@ public static void Build(string[] args)
152155
PlayerSettings.SetIl2CppCompilerConfiguration(BuildTargetGroup.WebGL, Il2CppCompilerConfiguration.Master);
153156
// By default use the speed setting
154157
SetWebGlOptimization(CodeOptimizationSpeed);
155-
#if UNITY_2021_2_OR_NEWER
158+
#if UNITY_2022_1_OR_NEWER
156159
PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget, Il2CppCodeGeneration.OptimizeSpeed);
157160
#endif
158161
}

Diff for: Assets/Scripts/Editor/CodeOptimizationWebGL.cs

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// --------------------------------------------------------------------------------------------------------------------
2+
// <copyright file="BuildScript.cs">
3+
// Copyright (c) 2023 Johannes Deml. All rights reserved.
4+
// </copyright>
5+
// <author>
6+
// Johannes Deml
7+
8+
// </author>
9+
// --------------------------------------------------------------------------------------------------------------------
10+
11+
namespace UnityBuilderAction
12+
{
13+
/// <summary>
14+
/// Code optimization settings for the build
15+
/// See also <see href="https://forum.unity.com/threads/webgl-build-code-optimization-option.1058441/#post-9818385" />
16+
/// </summary>
17+
enum CodeOptimizationWebGL
18+
{
19+
BuildTimes,
20+
RuntimeSpeed,
21+
RuntimeSpeedLTO,
22+
DiskSize,
23+
DiskSizeLTO,
24+
}
25+
}

Diff for: Assets/Scripts/Editor/CodeOptimizationWebGL.cs.meta

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)