Thanks, but I couldn’t get anything to work the way I wanted using the existing widgets.
I have however managed to hack together my own widget to do what I want using C++.
What I did was duplicate the canvas panel widget, and added in a RegionMin and RegionMax property. It works exactly like the canvas panel except that the children are positioned according to the RegionMin and RegionMax values instead of the canvas bounds.
Here’s the widget in UMG:
And in action in-game:
Maybe there’s a better way, but for now this works.