.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.
默认情况下,WebGL 构建不包含嵌入式资源。这有助于降低最终二进制文件的大小,因为嵌入式资源可能非常大。但是,某些用户代码和 .NET 类库 API 依赖于嵌入式资源的存在才能正常工作。例如,在比较非 ASCII 字符时,使用 StringComparison.InvariantCultureIgnoreCase 值进行的字符串比较将使用嵌入式资源。
可使用以下 Editor 脚本为 WebGL 构建启用嵌入式资源:
using UnityEditor;
public class WebGLEditorScript
{
[MenuItem("WebGL/Enable Embedded Resources")]
public static void EnableEmbeddedResources()
{
PlayerSettings.WebGL.useEmbeddedResources = true;
}
}
启用此播放器设置后,WebGL 构建将在项目使用的所有 .NET 程序集中包含所有嵌入式资源。