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
    Dec 7, 2021 at 3:21
  • $\begingroup$ Instances itself doesn't hold whose materials.. $\endgroup$
    – Crantisz
    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


This site is temporarily in read-only mode and not accepting new answers.

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