Version: Unity 6.7 Alpha (6000.7)
Language : English
Creating custom shaders that support GPU instancing in the Built-In Render Pipeline
Add per-instance properties to GPU instancing shaders in the Built-In Render Pipeline

GPU Instancing 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.

This section contains information on how to add GPU instancing support to a custom Unity shader. It first explains the shader keywords, variables, and functions custom Unity shaders require to support GPU instancing. Then it includes examples of how to add per-instance data to both surface shaders and vertex/fragment shaders.

Render pipeline compatibility

Feature Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom Scriptable Render Pipeline (SRP) Built-in Render Pipeline
Custom GPU instanced shaders No No No Yes

Additional resources

Creating custom shaders that support GPU instancing in the Built-In Render Pipeline
Add per-instance properties to GPU instancing shaders in the Built-In Render Pipeline