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