how to get a material to change to a specific color using booleans?

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: