This page contains information on level of detail (LOD) for shaders. For information on LOD for meshes, see Level of detail (LOD) for meshes.
You can assign a LOD (level of detail) value to a SubShader. This value indicates how computationally demanding its shader programs are. At runtime, you can tell Unity to exclude SubShaders above a given LOD value, so that Unity falls back to using SubShaders that have a lower LOD value.
You can use this technique to fine-tune shader performance on different hardware. This is useful when a SubShader is theoretically supported by a user’s hardware, but the hardware is not capable of running it well.
Note that although this technique is named after the LOD feature for rendering meshes, there are important differences: Unity does not calculate SubShader LOD automatically, and this feature does not relate to distance from the Camera. You must set the maximum LOD manually.
Unity’s built-in legacy shaders have the following LOD values:
|LOD value||Shader name|
Reflective Bumped Unlit
Reflective Bumped VertexLit