Umgとレベル遷移について

いつもお世話になっております。
レベル遷移についてですが、UMGのフェードイン・フェードアウトを実装しようと試みましたが
OpenLevel後に遷移前のレベルのUMGが残っており削除出来ない状態になりました。

https://answers.unrealengine.com/questions/130727/widgetかレヘルか変わっても残り続ける.html

以前の質問でバグではないかとの指摘があるようなのでこれ以外でフェードイン・フェードアウトを実装する方法等はあるのでしょうか?

フェードイン・フェードアウトを使わない場合どうしてもOpenLevelの際に画面が硬直して不自然な形になるのでそれを回避したいです。
LevelにsubLevelを追加してLoadStreamingLevelを使って切り替えていくのがUE4の手法としては一般的なのでしょうか?

どなたかご存知の方がいればご教授ください。
よろしくお願い致します。

こういった切り替え周りの問題はどのエンジンでも同じような問題があります。

大抵の場合は永続可能なインスタンスを使用したりして回避します。UE4の場合はパーシスタントレベルの他のサブレベルを持たせる事が可能ですので、ルートのパーシスタントレベルは永続使用し、サブレベルを次々に切り替えていく方法が一般的だと思います。

元々サブレベルというのが読み込み周りを考慮した作りなので、何かのイベントが発生した時に、LoadStreamingLevelで次のレベルを読み込み、その間をUMGを使ってフェードインとアウトさせ、完了後にUMGごと破棄、もしくは非表示でいいかと。読み込み中もできればロードがわかるようにアニメーションをさせていた方がいいかと思います。

回答ありがとうございます。
やはりサブレベルを使った実装が良いのですね。
ロード中などのアニメーション等もUMGにありましたが
OpenLevelだと切り替えでどっちみち止まるのでどこで使うの疑問に思っていたのでスッキリしました!

ということは、スタート画面等画面が止まっても特に問題ないような箇所はOpenLevelでそれ以外はシームレスにしてやるのが良いのですね。