Unity有两种产生shader变种的方式:
| 
 | multi_compile | shader_feature | 
| 适用情况 | 整体开关,如阴影开关,画面质量级别等 | 逐Material特性,如是否使用法线贴图,brdf选项等 | 
| 编译情况 | Build时会穷举编译所有变种 启动时会加载所有变种 过多的变种会导致内存耗尽直接崩溃(大约11个multi_compile) | 仅编译和加载实际使用到的变种。具体时机尚不明晰。 | 
| 用途 | 用于测试所有变种中是否有错 | 大量变种时只能用它 | 
在unity中使用UberShader和Shader变种管理
原文:http://www.cnblogs.com/cpxnet/p/6365446.html