結論

UE5.5に引き上げる。

内容

Ensure condition failed: CurrentNum == InitialNum
Array has changed during ranged-for iteration!

というエラーが出るようになった。

エラー自体は「配列のループ中に要素を増減させるな」というもの。UE5.4で厳格化されたのかと思ったが、実はそんなことはなく昔から存在するエラーである。どこでこのエラーが出ているのか特定できないので死ぬほど嵌った。

どうやらUE5.4はChildActor + World Streamingに致命的な不具合があるらしい。

Unreal Engine 5.4 Released

Missing Child Actors in streamed levels

UE5.5で修正されたようで、バージョンを上げたところ解決した。

よほどのこだわりがなければUE5.4で解消を図るより、UE5.5に引き上げたほうが良い。