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