I think this is not possible with ICE in the current state, but as we
are now able to assign materials to polygon meshes via ICE, why not implement
the same for particles and/or instances?
In my case I have a big simulation containing thousands of planes with a different texture for each one.
At the moment I have a hundred textures and therefore a hundred polygon planes in my scene which I randomly instance.
The perfect idea would be to have just one plane to be instanced and dynamically assign a material via ICE per instance.
I know I can pull a value to the rendertree and perform some texture switching based on that, but with a hundred different materials this becomes too big.
I need a hundred materials that way or another, but it would greatly help
in reducing the object count in the scene.
A side note:
I have to repeat this as often as possible:
The viewport does not display instances as instances properly.
Set the particle shape to rectangle: Perfect speed even with thousands of particles
Instance a single-polygon grid instead: Massive performance drop