Skip to main content

LineRenderer.SetPropertyBlock(MaterialPropertyBlock properties, number materialIndex = -1)

Lets you set or clear per-renderer or per-material parameter overrides.

Parameters:

NameTypeDescription
propertiesMaterialPropertyBlockProperty block with values you want to override.
materialIndexnumberThe index of the Material you want to override the parameters of. The index ranges from 0 to #Renderer.sharedMaterial-1.

Usage

---@type LineRenderer
local linerenderer;

---@type MaterialPropertyBlock
local properties;

---@type number
local materialIndex;


linerenderer.SetPropertyBlock(properties, materialIndex)

Extra Detail

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-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 nil as the property’s argument.