Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


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.

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.

materialIndex

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.