UnityEditor上で実行した時に、Shaderコンパイルをログに書き出してます。
そのログをもとにイイ感じにShaderVariantCollectionを作れるようにします。
対応は、Windows 10 / Mac (Intel MacOS12.0でテスト)
また姉妹ツールの ProfilerModuleForShaderCompileもあります。 こちらは ShaderCompile情報に特化したProfilerModuleを提供しています。
メニューの 「Tools/UTJ/ShaderVariantLogger」でWindowを開きます
画面の「Enabled」を有効にします。
この状態でEditor上でプレイをしていると、Editor上でのShaderコンパイルログが「Library/com.utj.shadervariantlogger/logs」以下に蓄積されます
このログにアクセスしたいときは「Open Directory」を押すことでログが溜まっているディレクトリにアクセスすることができます。
後にこのログをもとにShaderVariantCollectionアセットを作成することが可能です。
Editor上でプレイをするごとにShaderCacheを消します。
毎回削除されるのを止めたい場合は 「Clear ShaderCache」のチェックを外してください。
※ただしチェックを外すと、Shaderコンパイルを取りこぼす可能性があります。
「Add Variants from logs」を押すことで実行します。
このとき、ログに溜まった内容をもとに「ShaderVariantCollection」で指定されたShaderVariantCollectionに対してVariant追加を試みます。
もし指定がないときには新規にファイルを作成します。
「Delete logs after adding」にチェックを入れると、処理完了後にもともとあったログファイルを削除します。 「Shader Path Config Advanced」では、Variantに追加するShaderの条件を指定することが可能です。