How to add texture to individual instances?

Is there a way to add textures to individual instances in a scene? Like this carousel project, my goal is to have each plane have a unique image.

If all your instances have the same face count, you can use this setup to get an individual number per instance and use that to change, for example, the material:

Blender Version 3.1 for the domain size node, otherwise replace that with the known number of faces.

This is nice thank you, would’ve taken me ages to figure out. So if I want to have for example 30 different textures, would I have to have 30 different set material nodes?

That, or write an attribute to the mesh which you can then use in a single shader node setup:

Then you can put your 30 images in a single material.

As the attribute shader node evaluates vertices, you have to also switch to point count in the geometry node setup.

I can’t seem to get this method to work. I’m not sure what I’m doing wrong. Here’s a screenshot if you care to take a look. Thanks again.

In the shader setup, you will need to include those 30 images, or use one large image and use the attribute to offset the input vector.

In the geometry nodes setup, you need to divide the overall vector index by the number of vertices in a single instance.