Skip to content

Commit f325b94

Browse files
committed
Add option to build for webgl2 through the tag
1 parent a41e6ba commit f325b94

File tree

4 files changed

+36
-10
lines changed

4 files changed

+36
-10
lines changed

.github/workflows/release.yml

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ jobs:
117117
*
118118
119119
[${{ needs.variables.outputs.TAG }} Demo](https://deml.io/experiments/unity-webgl/${{ needs.variables.outputs.TAG }}/)
120+
[${{ needs.variables.outputs.TAG }}-webgl2](https://deml.io/experiments/unity-webgl/${{ needs.variables.outputs.TAG }}-webgl2/)
120121
[${{ needs.variables.outputs.TAG }}-minsize Demo](https://deml.io/experiments/unity-webgl/${{ needs.variables.outputs.TAG }}-minsize/)
121122
[${{ needs.variables.outputs.TAG }}-urp Demo](https://deml.io/experiments/unity-webgl/${{ needs.variables.outputs.TAG }}-urp/)
122123
draft: true

Assets/Scripts/Editor/BuildScript.cs

+13-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using UnityEditor;
66
using UnityEditor.Build.Reporting;
77
using UnityEngine;
8+
using UnityEngine.Rendering;
89

910
namespace UnityBuilderAction
1011
{
@@ -19,14 +20,14 @@ public static class BuildScript
1920
private static readonly string[] Secrets =
2021
{"androidKeystorePass", "androidKeyaliasName", "androidKeyaliasPass"};
2122

22-
23+
2324
[UsedImplicitly]
2425
public static void BuildWithCommandlineArgs()
2526
{
2627
string[] args = Environment.GetCommandLineArgs();
2728
Build(args);
2829
}
29-
30+
3031
public static void Build(string[] args)
3132
{
3233
// Gather values from args
@@ -65,12 +66,21 @@ public static void Build(string[] args)
6566
if (options.TryGetValue("tag", out string tagVersion) &&
6667
!string.IsNullOrEmpty(tagVersion))
6768
{
68-
if (tagVersion.EndsWith("minsize"))
69+
string[]tagParameters = tagVersion.Split('-');
70+
if(tagParameters.Contains("minsize"))
6971
{
7072
EditorUserBuildSettings.SetPlatformSettings(BuildPipeline.GetBuildTargetName(BuildTarget.WebGL), "CodeOptimization", "size");
7173
PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None;
7274
PlayerSettings.SetIl2CppCompilerConfiguration(BuildTargetGroup.WebGL, Il2CppCompilerConfiguration.Master);
7375
}
76+
if(tagParameters.Contains("webgl2"))
77+
{
78+
PlayerSettings.SetGraphicsAPIs(BuildTarget.WebGL, new[] {GraphicsDeviceType.OpenGLES3});
79+
}
80+
if(tagParameters.Contains("webgl1"))
81+
{
82+
PlayerSettings.SetGraphicsAPIs(BuildTarget.WebGL, new[] {GraphicsDeviceType.OpenGLES2});
83+
}
7484
}
7585
break;
7686
}

Assets/Scripts/Editor/BuildScriptMenu.cs

+18-5
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ public static void BuildWebGLDefault()
3636
SetBuildTarget(BuildTarget.WebGL, ref parameters);
3737
SetParameterValue("-tag", tag, ref parameters);
3838
SetParameterValue("-customBuildPath", $"Builds/WebGL/{tag}", ref parameters);
39-
40-
Debug.Log($"Build project with parameters [{string.Join(" ", parameters)}]");
41-
BuildScript.Build(parameters.ToArray());
39+
BuildWithParameters(parameters);
4240
}
43-
41+
4442
[MenuItem("Tools/Build WebGL/minsize")]
4543
public static void BuildWebGLMinSize()
4644
{
@@ -49,7 +47,22 @@ public static void BuildWebGLMinSize()
4947
SetBuildTarget(BuildTarget.WebGL, ref parameters);
5048
SetParameterValue("-tag", tag, ref parameters);
5149
SetParameterValue("-customBuildPath", $"Builds/WebGL/{tag}", ref parameters);
52-
50+
BuildWithParameters(parameters);
51+
}
52+
53+
[MenuItem("Tools/Build WebGL/webgl2")]
54+
public static void BuildWebGLWebGL2()
55+
{
56+
var parameters = new List<string>(baseParameters);
57+
string tag = $"{Application.unityVersion}-webgl2";
58+
SetBuildTarget(BuildTarget.WebGL, ref parameters);
59+
SetParameterValue("-tag", tag, ref parameters);
60+
SetParameterValue("-customBuildPath", $"Builds/WebGL/{tag}", ref parameters);
61+
BuildWithParameters(parameters);
62+
}
63+
64+
private static void BuildWithParameters(List<string> parameters)
65+
{
5366
Debug.Log($"Build project with parameters [{string.Join(" ", parameters)}]");
5467
BuildScript.Build(parameters.ToArray());
5568
}

ProjectSettings/ProjectSettings.asset

+4-2
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ PlayerSettings:
154154
androidMaxAspectRatio: 2.1
155155
applicationIdentifier: {}
156156
buildNumber:
157-
Standalone: 0
157+
Standalone: 1.0.0
158158
iPhone: 0
159159
tvOS: 0
160160
overrideDefaultApplicationIdentifier: 0
@@ -690,7 +690,9 @@ PlayerSettings:
690690
switchPlayerConnectionEnabled: 1
691691
switchUseNewStyleFilepaths: 0
692692
switchUseMicroSleepForYield: 1
693+
switchEnableRamDiskSupport: 0
693694
switchMicroSleepForYieldTime: 25
695+
switchRamDiskSpaceSize: 12
694696
ps4NPAgeRating: 12
695697
ps4NPTitleSecret:
696698
ps4NPTrophyPackPath:
@@ -834,6 +836,7 @@ PlayerSettings:
834836
metroFTAName:
835837
metroFTAFileTypes: []
836838
metroProtocolName:
839+
vcxProjDefaultLanguage:
837840
XboxOneProductId:
838841
XboxOneUpdateKey:
839842
XboxOneSandboxId:
@@ -887,4 +890,3 @@ PlayerSettings:
887890
playerDataPath:
888891
forceSRGBBlit: 1
889892
virtualTexturingSupportEnabled: 0
890-
uploadClearedTextureDataAfterCreationFromScript: 0

0 commit comments

Comments
 (0)