.NET assemblies can contain embedded resources. An embedded resource is a collection of binary data that’s part of the .NET assembly. You can access this binary data in code via a file-like API.
By default, WebGLA JavaScript API that renders 2D and 3D graphics in a web browser. The Unity WebGL build option allows Unity to publish content as JavaScript programs which use HTML5 technologies and the WebGL rendering API to run Unity content in a web browser. More info
See in Glossary builds don’t include embedded resources. This helps to keep the size of the final binary lower, because embedded resources can be rather large. However, some user code and .NET class library APIs depend on the presence of embedded resources to work properly. For example, string comparisons that use the StringComparison.InvariantCultureIgnoreCase
value use embedded resources when comparing non-ASCII characters.
You can use the following script in the Unity Editor to enable embedded resources for a WebGL build:
using UnityEditor;
public class WebGLEditorScript
{
[MenuItem("WebGL/Enable Embedded Resources")]
public static void EnableEmbeddedResources()
{
PlayerSettings.WebGL.useEmbeddedResources = true;
}
}
When this Player setting is enabled, the WebGL build includes any embedded resources in any .NET assemblies the Project uses.