How to reorder a widget's children during runtime in Blueprint?

[…]there must be a way

Sadly, you’ve explored the options available to blueprints. There is no painless way of doing it, unfortunately. It’s one of the more prominent shortcomings of the UMG. It’s a weird omission, indeed.


Another, somewhat hacky, way would be to keep those Scale Boxes in a canvas rather than a horizontal box. Canvas’ slot would then allow you to shift the position of each Scale Box freely, and without ruining the slot’s settings. But then you’re, kind of, rewriting what a horizontal box does…

I do understand why this might be a complete no-no in many cases.


adding them again to reorder them
means I also have to re-designate all
settings of the newly added children

If you wrapped the scale box in a custom widget, it could keep track of its own slot settings in a struct. Once readded to the panel, a wrapped child can apply the stored settings to its own horizontal box slot.

1 Like