SetPropertyBlock
Lets you set or clear per-renderer or per-material parameter overrides.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
SetPropertyBlock(MaterialPropertyBlock)
Lets you set or clear per-renderer or per-material parameter overrides.
public void SetPropertyBlock(MaterialPropertyBlock properties)
Parameters
Property block with values you want to override.
Remarks
This is recommended when only a few properties of a Material are different per object. This is more memory efficient than having one complete distinct Material per object.
You can also provide a Material index (from 0 to Renderer.materials.Length-1). In this case, only parameters of that Material are set. If there is both a per-renderer and a per-material block, only the per-Material block is used.
To disable any of per-Renderer or per-Material overrides, pass null as the property’s argument.
Additional Resources: MaterialPropertyBlock, Renderer.GetPropertyBlock.
SetPropertyBlock(MaterialPropertyBlock, int)
Lets you set or clear per-renderer or per-material parameter overrides.
public void SetPropertyBlock(MaterialPropertyBlock properties, int materialIndex)
Parameters
Property block with values you want to override.
The index of the Material you want to override the parameters of. The index ranges from 0 to Renderer.sharedMaterials.Length-1.
Remarks
This is recommended when only a few properties of a Material are different per object. This is more memory efficient than having one complete distinct Material per object.
You can also provide a Material index (from 0 to Renderer.materials.Length-1). In this case, only parameters of that Material are set. If there is both a per-renderer and a per-material block, only the per-Material block is used.
To disable any of per-Renderer or per-Material overrides, pass null as the property’s argument.
Additional Resources: MaterialPropertyBlock, Renderer.GetPropertyBlock.