Version: Unity 7.0 Alpha (7000.0)
Language : English
Example of changing per-instance data at runtime in the Built-In Render Pipeline
GPU instancing shader reference for the Built-In Render Pipeline

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

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.
For more information on migration, refer to Migrating from the Built-In Render Pipeline to the Universal Render Pipeline and Render pipeline feature comparison.

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.
Example of changing per-instance data at runtime in the Built-In Render Pipeline
GPU instancing shader reference for the Built-In Render Pipeline
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961