When aliasing a color variable to another (img 1), or using it directly on an element (img 2), we should be able to override the opacity without the need to create a variable for each transparency variation:
For non-gradient use cases, we can handle it with layer opacity. But for gradients, it’s impossible if you want different opacities of the same colour at different points.
Why can’t I change (override) the opacity of a referenced color-variable, without having to detach it? To me a color and an opacity value are two different things. So if I want an opacity on my referenced color e.g. “Blue-950” I have to detach it and change the value to my liking, now it is not referenced to the variable collection anymore.
A workaround is to add that “Blue-950” with the desired opacity in the variable collection and then reference that new “Blue-950-50-percent”.
It is so annoying that you can’t change opacity on the fly without loosing reference!!!
I get why that would be frustrating. Changing the opacity of a color variable directly without detaching it would be a useful feature. Currently, Figma doesn’t allow for overriding opacity directly on referenced color variables, which indeed forces you to either detach or create new variables for each opacity level.