Working with Selectable

Many widgets are inherited from the Selectable component which is used to control widgets’ appearance depending on state. In most cases used Color Tint transition.

But it has some nuances on how it works: - result color = TargetGraphic.Sprite (if has any) * TargetGraphic.color * (Selectable.colorTint * Selectable.colorMultiplier) - colors actually represented in the range 0-1 (in editor range 0-255 is used because it is human readable) - white is 1, black is 0

Those things matter when you try to create a dark theme: multiplying black color (TargetGraphic.color) on any tint color gives the same black color so you do not see any visual differences between states.

There are a few possible solutions for this: - increase the ColorMultiplier value and do not use completely black colors, but it will be difficult to get the desired colors - change TargetGraphic.Color to white and use normalColor to make it black by default (this does not help if TargetGraphic.Sprite is black) - use the Sprite Swap transition (no color multiplication no problem with black), but in this case, you need the sprites of different colors.