If you do not want to create (and maintain) multiple materials, try a Dynamic Material Instance. In your material, *Convert *the colour (RMB on the node) to Parameter and give it a name. You will be able to change its value during runtime.
This is how you access it in your object:
The bool can be omitted altogether, of course.
Also, more info here: