UI Brush with material always applies tint as color.

Then make your own widget that behaves that way, you can place UMG widget in to UMG widget so make one that behaves as you like, remember that you can send parameters to material same as you do with mesh. Thats the point of this archtecture, when you can take ready widgets and re setup them as you like and reuse them anywhere.

In C++ you make your own widget based of UImage and you can directly manipulate behavior of color and tint varable by overriding SynchronizeProperties function, which is function that transfers UMG widget properties to Slate

only limitaion here is that you can’t override SetColorAndOpacity which would complete implmentation, but you can do your own function to control it. But im not sure how animation interact with it, if it calls SynchronizeProperties it will work seamlessly. In C++ side you can also directly communicate with Slate that powers UMG.

As “Tint” name it is applying to anything that what Slate draw, it a quite low level feature so it ahrd to alter it other that overriding. By design tint should behave the same on all widgets, so it is correct behavior