UMG ProgressBar Incorrect Mask behavior

There seems to be a regression with clipping behavior in Slate UIs, at least specifically in the UMG ProgressBar widget. If you use the Mask fill style, it does not properly render according to the Percent set. The Scale fill style appears to work, until you zoom in closely and pan around with the progress bar at the edges of the screen.

I debugged this a bit and determined Scale fill mode only appears to work because the internal code manually resizes the widget, so it happens to be contained within the clipping rect most of the time. However, Mask fill mode relies on clipping so it doesn’t work.

This is a pretty high priority issue for us - hopefully we can get a patch to backport since it affects all our UIs with progress bars.

Note that this issue is not present in 5.4.x. We are currently using 5.5.4.

Steps to Reproduce

  1. Create a new UMG Widget (BP inheriting from UserWidget)
  2. Add a progress bar widget somewhere in the hierarchy
  3. Set the widget to use Mask fill mode
  4. Set Percent to 0.5
  5. Observe that depending on the zoom level, the fill size changes.

Hi Reuben,

Is your progress bar within a retainer panel? We had some clipping issues with the contents of retainer panels in 5.5, that should be fixed in CL#39761382. If it’s relevant to you, there’s a similar fix for background blurs within retainers, CL#40258973.

Best,

Cody

Hey Cody, it was within a retainer panel, and cherry-picking those two changes totally fixed it. Thank you!

Reuben