Edited at

Unity4.5以降、シェーダーの容量が倍になる問題とその対応

More than 3 years have passed since last update.

Unity4.5以降のバージョンでは、コンパイルされたシェーダーの容量が約2倍になることがあります。

コンパイルされたシェーダーを見ると分かりますが、OpenGL ES3.0用のコードが増えたことで、シェーダーの容量が約2倍になっています。

使っているシェーダーの数が少なければ大して問題にはならないでしょうが、使っているシェーダーの数が大量だと問題になる場合があります。その場合、以下のようにすることで対応が可能です。


hoge.shader

CGPROGRAM

#pragma exclude_renderers gles3 // gles3向けのレンダラをコンパイルしない

exclude_renderers gles3 を追加することで、OpenGL ES3向けのコードが生成されるのを抑制出来ますので、シェーダーのサイズが元に戻ります。