.NET アセンブリには、埋め込みリソースを入れることができます。埋め込みリソースは、.NET アセンブリの一部であるバイナリ データのコレクションです。このバイナリデータには、ファイルのような API を通してコードでアクセスできます。
デフォルトでは、WebGL のビルドには埋め込みリソースが含まれていません。これにより最終的なバイナリのサイズを小さくすることができます。なぜなら、埋め込みリソースは非常に大きい場合があるからです。しかし、ユーザーコードや .NET クラスライブラリの API の中には、適切に動作するために埋め込みリソースを必要とするものがあります。例えば、StringComparison.InvariantCultureIgnoreCase
の値を使用する文字列比較では、非 ASCII 文字を比較する際に埋め込みリソースを使用します。
以下のエディタースクリプトを使って、WebGL ビルドの埋め込みリソースを有効にすることができます。
using UnityEditor;
public class WebGLEditorScript
{
[MenuItem("WebGL/Enable Embedded Resources")]
public static void EnableErrorMessageTesting()
{
PlayerSettings.SetPropertyBool("useEmbeddedResources", true, BuildTargetGroup.WebGL);
}
}
この Player 設定を有効にすると、WebGL のビルドには、プロジェクトが使用するすべての .NET アセンブリの埋め込みリソースが含まれます。