Is it possible to reverse the vertical orientation of an UMG scroll box?

Hello. I was wondering if anyone knows if it’s possible to make it so that children appear from the bottom and fill upwards in a scroll box instead of appearing from the top and filling downwards. I thought of a silly solution which is to change the transform’s angle to 180 degrees and do the same for children. This works well except for the fact that the scroll bar ends up on the left side, which is well… weird. I wouldn’t mind this solution so much though if it wasn’t for the fact that even if you hide the scroll bar it takes up space and pads all children slightly to the right which also looks awkward. Even if I set the size of the scroll bar to 0 there seems to be a minimum size of some sorts so it won’t completely disappear.

Does anyone have any suggestions? Thanks :slight_smile:

I was thinking that you could fill the scroll bar with “Hidden” widgets, then whenever you add a widget, it will override the last one and give visibility to the upcoming widget. And yes, this is a weird workaround… but can save some of your time.

7c7ea713698868fb204e5c8e5fb1b6303603a1e1.jpeg
Hidden description

Didnt test it by myself, though.

Have a look at suggestion #1 in this post.

edit: you can also fiddle with *BarStyle SlotImage *settings in the Style tab of the details panel and disable it altogether, it should no longer take any space if you set *ImageSize *to 0 and *DrawAs *None. I think that’s it.

The correct way to do this would be to modify the SScrollBox.cpp in the engine to permit a fill direction for children - or to clone the code into your own project and make a new Scrollbox that does everything you need.

It didn’t work with hidden but it does work with collapsed, thanks :smiley:

The mouse wheel scrolling direction is reversed, but I can live with that at least as a temporary solution.

I might set some time aside to do this eventually, but I’ll make do with my makeshift solution for now. Thanks for the suggestion.

This is an older post, but it came up at the top of google for me, so I just wanted to link a solution that wasn’t listed here, but worked for me with my horizontal scroll box!

Essentially all you have to do is set your scroll box’s render transform scale to “-1” on your preferred axis. Then put all of the items that are in your scroll box into either a Horizontal, or Vertical box based on your axis, and now set the scale to “-1” on the box you chose. Make sure it’s in the same axis as your scroll box!

Good luck, and hopefully this helps! :sparkles:

6 Likes