VerticalBoxで並べた子ウィジェットを並べ替えたい

VerticalBoxに限らずHorizontalBoxもなのですが、動的に追加した子ウィジェットの並べ替えをBP上で行いたいです。

Unityでやるとするならば、

objHoge.transform.SetSiblingIndex(インデックス番号);

でオブジェクトの順番を入れ替えられるのですが、これと同じことを行いたいのです。
GetChildIndexでインデックスの取得は行えるのですが、SetChildIndexが何故ないのか...

[こちらの質問][1]でも述べられている「ShiftChild」なるものは4.17でもBP側に公開されているわけではなさそうなので使えるわけではないようです...

This feature has been requested many times, last time here, consider adding your concerns there, too:
https://forums.unrealengine.com/unreal-engine/feedback-for-epic/1358852-allow-insert-child-at-for-panel-widgets-in-blueprint

Current solution/workaround:

  • clear the widget container of any children
  • create an array of widgets
  • add and order them the way you want (insert works fine with the array)
  • populate the widget container with the contents of the array

It’s unnecessarily convoluted but it works. :expressionless:

Thank you!

I solved it thanks to your advice!



SortMethod



Algorithm



Result
https://gyazo.com/c4af1aefe2fcdf77359aae66d2d232d6