Shader property per object

Hi . I write a simple shader and it’s have some property; I want to create one material and each object has been different property (for example when you create a sprite material , each object has different texture)

at first I just use [PerRenderData] but it doesn’t work (when I change an object’s material property , it’s effected on other objects with same material )

Hi, MaterialPropertyBlock can solve this problem (Unity - Scripting API: MaterialPropertyBlock) It can hold properties values and be passed to a Renderer.

I think it’s because you wrote it wrong? I think it’s supposed to be
“[PerRendererData]”