Change a specific node color while using the same material in several nodes

Hello,
I want to have a model embedded in my site (a kind of configurator) and to use the viewer api to achieve the following:
I have more then 100 nodes (sharing the same material) in my model.
I would like to be able to change the color for a specific node (following a user action) without changing all the colors of the other nodes…
the ideal solution for me is to have in my model some hidden nodes with materials with different color and to be able to swap that specific node’s material. as I see now this feature is not supported…
is there any other way to achieve that ?

Welcome!

The hidden node trick is the best solution, as there no other way for now,

Hi Paul,
thanks for your reply.
the problem with the swap solution is that it changes the material itself … thus changing the color of all other nodes using the same material …
I’m looking for a way to change the color of only one of the 100+ nodes …
originally I simply gave each node a different material and everything worked perfectly but then I came across the 100 material limit …
is there no way to have 100+ nodes of the same material and change only one node’s color ?
no way to change the single node’s material (not the material itself) ?

afaik there’s no way to change a material on “object level”. If a material is shared across multiple objects, changing that material will be shown on all of these objects.
It might be possible to solve this with textures. Imagine your 100 objects share a single material with a big texture. Each model has unique UV coordinates on that texture and doesn’t share that patch of the texture with another model. If you then change the color on a single patch of the texture, only one object is affected.
Of course it depends on your scenario whether this is feasible. But you can control almost all material values with a texture. If you organize them in a canvas for instance, you can use a single material to give a unique appearance to more than 100 objects.