Question: I'm trying to set a different existing material on 5 Instances made with Instance on Points. Trying both 3.0.1 and 3.1 to no avail.

Is there any value or attribute that signifies which instance you are on?

I want to build a setup for texture painting with 5 copies of a character and therefore I am linking a rigify rig with the meshes that gets instanced. That seems to make it trickier if not impossible to do custom attributes.
Either want to change material for each copied instance or have some way to swap textures in a shader graph. As long as you can paint a different texture on each copy.

I've tried these three answers to similar issue without results:
[Set material for instances problem (Blender 3.0)](https://blender.stackexchange.com/questions/244208/set-material-for-instances-problem-blender-3-0),  

[Control Instance Color with Geometry Nodes](https://blender.stackexchange.com/questions/213224/control-instance-color-with-geometry-nodes),  

[How to assign a different material color to each geometry nodes instance](https://blender.stackexchange.com/questions/254648/how-to-assign-a-different-material-color-to-each-geometry-nodes-instance)

Answer: 
Managed to figure it out with inspiration from this answer:[How to access geonode generated "instance ID" from Cycles material?](https://blender.stackexchange.com/questions/248920/how-to-access-geonode-generated-instance-id-from-cycles-material?rq=1)

My node setup looks like below and assigns materials all in geometry nodes:
[![Node Graph](https://i.stack.imgur.com/864NR.png)](https://i.stack.imgur.com/864NR.png)
[![Character](https://i.stack.imgur.com/eG7kP.png)](https://i.stack.imgur.com/eG7kP.png)
`STORE NAMED ATTRIBUTE` for points with value as `ID` before `INSTANCE ON POINTS`, then `NAMED ATTRIBUTE` integer using the same name from the `STORED NAMED ATTRIBUTE` on the ID for the selection on a `RANDOM VALUE` using boolean
[![enter image description here](https://i.stack.imgur.com/LB0M9.png)](https://i.stack.imgur.com/LB0M9.png)