I can't figure out how to assign a different material to each instance in the new Blender 3.0 fields workflow. Is it broken? I don't mean using a color ramp, I mean having actual different materials for each instance.

Here's my attempt: enter image description here

  • $\begingroup$ I still haven't quite figured this out, but I believe one issue is that the realize instances node needs to come before the material manipulation. $\endgroup$
    – ajwood
    Commented Dec 7, 2021 at 3:21
  • $\begingroup$ Instances itself doesn't hold whose materials.. $\endgroup$
    – Crantisz
    Commented Jan 25, 2022 at 11:56

1 Answer 1


I'm still far from having my head around geometry nodes, but I have a hacky solution. Instead of instancing a no-material cube then setting a material on the instanced geometry, make the instance already come with a material (and have a separate input instance per material).

The Instance on Points node seems to be able to select from a collection of input geometry (IIUC, feed an instance list into the Instance socket, enable the Pick Instances checkbox, and feed a random value into Instance Index). I can't figure out if there is a way to combine mesh-primitives into a collection suitable for this method, or if it only works if we have a standard collection from the Scene.

So a hacky workaround, have three separate Instance on Points, one for each material-cube, and instance on mutually exclusive Selection masks.

enter image description here enter image description here


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .