Documentation

Unity Engine

Unity Engine

Prevent Unity stripping GPU instancing shaders in the Built-In Render Pipeline

Disable stripping of instanced shaders in the Project Settings window.
Read time 1 minuteLast updated 15 days ago

Important
The Built-In Render Pipeline is deprecated and will be made obsolete in a future release.
It remains supported, including bug fixes and maintenance, through the full Unity 6.7 LTS lifecycle.
Unity generates Surface shaders with instancing variants by default, unless you specify
noinstancing
in the
#pragma
directive. Unity ignores uses of #pragma multi_compile_instancing in a surface shader.
Unity’s Standard and StandardSpecular shaders have instancing support by default, but with no per-instance properties other than the transform.
If your scene contains no GameObjects with GPU instancing enabled, then Unity strips instancing shader variants. To override the stripping behaviour:
  1. Open Project Settings (menu: Edit >
    Project Settings

    ?

    ).
  2. Go to Graphics.
  3. In the Shader Stripping section, set Instancing Variants to Keep All.