Unity は、ビルドしたアプリケーション内に、圧縮されたシェーダーバリアントデータの複数の “チャンク” を格納します。各チャンクには複数のシェーダーバリアントが含まれます。Unity は、ランタイムにシーンをロードする際に、全てのシーンのチャンクを CPU メモリ内にロードし、それらを解凍します。
メモリ制限のあるプラットフォームでメモリ使用量を削減するために、チャンクのサイズと、Unity がメモリ内に保持する解凍されたチャンクの数を制限することができます。
これを行うには、Player settings で、Other Settings > Shader Variant Loading を選択し、以下の設定を調整します。
0、つまり制限はありません。詳細については、PlayerSettings.SetDefaultShaderChunkCount を参照してください。
Override を使用して、各プラットフォームの値を個別にオーバーライドできます。詳細については、PlayerSettings.SetShaderChunkCountForPlatform を参照してください。
また、Shader.maximumChunksOverride を使用して、ランタイムに Default chunk count をオーバーライドすることも可能です。