I’ve managed to solve the problem completely, at least for myself.
I needed to round corners of my widget so I made an alpha mask in Photoshop. Then I used Retainer Box with a transparent material. My colors were washing out (first screenshot).
Then after a following manipulation with the material, I managed to make it just the right color as it was without the Retainer Box (second screenshot).
I have the same problem, even if the retainer material has nothing in it, but the source texture. Hell, even if I don’t assign a material at all! Just the plain old retainer box wrapping an image: the image gets bright and washed out. I’m using it in a 3D widget in the VR resource project, MotionControllerMap. I’ll test it in a completely empty map …
So, for anyone willing to modify their engine code, I dug through the commit of the original fix and found the file/line they changed. Here’s the diff from SRetainerWidget.cpp:
You can see they removed the NoGamma option, and set the render target’s gamma to 2.2. Up to the reader if they want to mess with it, there’s some comments talking about gamma space blending issues (presumably why they reverted the fix) so if this causes problems for y’all revert and use the material approach above instead.
I tried the gamma correction method in the material, and it worked perfectly, however on mobile devices, the elements in the retainer box appeared completely red. Does anyone have any clue on that?