命令数の上限
デフォルトでShaderの命令をどんどん記述していくと、
Shader error in 'Custom/xxx': Program 'frag_surf', Arithmetic instruction limit of 64 exceeded
というエラーが出てShaderが実行できないことがあります。
http://docs-jp.unity3d.com/Documentation/Components/SL-ShaderPrograms.html
より、
デフォルトの「#pragma target 2.0」の指定の場合は、頂点シェーダーで256命令、フラグメントシェーダーで32テクスチャ+64演算のような制限があるようです。
「#pragma target 3.0」とすれば命令数の上限は上げることができます。
Nexus7でOpenGL ES 2.0で確認したところ、「#pragma target 3.0」でも動作するのを確認。