Multiple colors on clones.

I’m trying to make an array of shapes, of different colors. Right now I have a cloner, and several shape 3D, and each shape 3d has a different color/shape, and that gives me the result I want, but it seems a little inefficient.

Is there a simplerway of doing this? something equivalent to the multishader in C4d perhaps?

Thats the best way in most situations but certain effectors can also affect color. The Image effector can do it.