You can prevent shader variants from being compiled. This is called stripping. Stripping unneeded variants can greatly reduce build times, file size, shader loading times, and runtime memory usage. In larger projects, or projects with complex shaders, this is a very important consideration.
以下のシェーダーキーワードの宣言方法によって、生成されるバリアントの数を制限することができます。
multi_compile
の代わりに shader_feature
を可能な限り使用します。multi_compile
で使わないキーワードを定義しないようにします。ハンドコーディングされたシェーダーでこれを行う方法については、HLSL でのシェーダーキーワードの宣言と使用 を参照してください。Shader Graph での実行については、[Shader Graph ブラックボード]を参照してください。Blackboard](https://docs.unity.cn/Packages/com.unity.shadergraph@latest?subfolder=/manual/Blackboard.html) を参照してください。
Unity エディターの UI には、シェーダーストリッピングを設定できる箇所がいくつかあります。
他の方法では除去できないシェーダーバリアントについては、エディタースクリプトで以下の API を使用してビルド時のストリッピングを行うことができます。
ストリッピングについての詳細は、Unity のブログ スクリプタブルシェーダーバリアントの除去 を参照してください。