UE5.5に引き上げる。
Ensure condition failed: CurrentNum == InitialNum
Array has changed during ranged-for iteration!
というエラーが出るようになった。
エラー自体は「配列のループ中に要素を増減させるな」というもの。UE5.4で厳格化されたのかと思ったが、実はそんなことはなく昔から存在するエラーである。どこでこのエラーが出ているのか特定できないので死ぬほど嵌った。
どうやらUE5.4はChildActor + World Streamingに致命的な不具合があるらしい。
Missing Child Actors in streamed levels
UE5.5で修正されたようで、バージョンを上げたところ解決した。
よほどのこだわりがなければUE5.4で解消を図るより、UE5.5に引き上げたほうが良い。