Change Object Index of Objects in a Collection Instance If you make instanced copies of a bunch of objects (alt+D), then it is possible to give them different Object Indices from their originals. This is useful if you are using Object Index as a mix factor in the material of the objects. This is especially useful when working with multiple Scenes. However, Instanced Objects don't copy all changes from their originals. If you make a change to a modifier, or Transform the original object, it does not update the Instances. So as you are working, you are stuck constantly re-creating the instances.

You can get around this problem by instead using a Collection Instance of all the objects you need copied. Then any changes are reflected. But then you can no longer change the Object Index of the copies. You can set an Index on the Collection Instance itself, but this doesn't effect the objects within it.

Is it possible to somehow get at the Objects within a Collection Instance and give them their own Object Index that is different from the original object?
Found a workaround. Instead of Index, I'm using the RGB color value from the Object Properties -&gt; Viewport Display of each Collection Instance to drive mix factors in the material of the objects.
From the Object Info node, instead of Object Index, link Color to a SeparateRGB node, and change the Red of the Viewport Color of the instance, same way as you would use Index. Then connect R to Mix node or any other node. Nice thing is you can control each channel separatley, using the Green and Blue value for different things in the same collection instance.
Maybe not as elegant as it should be, but at least for me in the same use case as yours, it does the job.