Use C# code to enable optimization settings
Use a C# script to enable some optimization settings.
Read time 2 minutesLast updated 13 days ago
You can use code to enable some optimizations recommended in Optimize your Web build. If you use code to configure these settings it can save you time having to manually set each of them individually.
Create a C# script to optimize your Web build
To use code to enable most of these optimizations at once in your Unity project settings:
-
Create anfolder if you don't already have one.
Assets/Editor -
Create an empty C# script in thefolder.
Editor -
Paste the following code into the script:using UnityEditor;using UnityEditor.Build;using UnityEngine;public class WebOptimizer{ [MenuItem("Example/Optimize")] public static void Optimize() { var namedBuildTarget = NamedBuildTarget.WebGL; // Set IL2CPP code generation to Optimize Size PlayerSettings.SetIl2CppCodeGeneration(namedBuildTarget, Il2CppCodeGeneration.OptimizeSize); // Set the Managed Stripping Level to High PlayerSettings.SetManagedStrippingLevel(namedBuildTarget, ManagedStrippingLevel.High); // Strip unused mesh components PlayerSettings.stripUnusedMeshComponents = true; // Enable data caching PlayerSettings.WebGL.dataCaching = true; // Set the compression format to Brotli PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli; // Deactivate exceptions PlayerSettings.WebGL.exceptionSupport = WebGLExceptionSupport.None; // Deactivate debug symbols PlayerSettings.WebGL.debugSymbolMode = WebGLDebugSymbolMode.Off; //Enable WebAssembly 2023 features PlayerSettings.WebGL.wasm2023 = true; // Set Platform Settings to optimize for disk size (LTO) UnityEditor.WebGL.UserBuildSettings.codeOptimization = UnityEditor.WebGL.WasmCodeOptimization.DiskSizeLTO; }}
-
Change the script to suit your project.
-
From the toolbar, select Example > Optimize to run the script. Your settings update.
To change the settings for Asset Import Overrides, refer to Build profile reference.