zer0から始めるプログラミング生活

unreal EngineやUnityのTipsを書いていきます。

【Unreal C++】 ⑧Level Streaming 【UE4】

C++でLevel Streaming 使うときにちょっと躓いたのでメモ。

BPでのLevel Streamingは以下を参考に。
unrealengine.hatenablog.com

詳しくは以下に書いていますがロード後にすぐ表示しているので、今回はロード後すぐに表示しないパターンを書いておきます。
docs.unrealengine.com

ロード

ロード後すぐに表示しないパターンにするため
第3引数・・・読み込み後に表示を行うかどうか
第4引数・・・同期読み込みを行うかどうか
を両者ともfalseにしました。
docs.unrealengine.com
[UE4] レベルストリーミングについて|株式会社ヒストリア

マップ(サブレベル)表示

BPと大体同じで
第1引数・・・表示非表示をいじりたいマップ
第2引数・・・表示非表示のフラグ

UFunctionLibrary::beVisibleMap(MapName, true);

アンロード

関数については以下を参考に。
docs.unrealengine.com

マップ(サブレベル)非表示

UFunctionLibrary::beVisibleMap(MapName, false);

Tips

マップの遷移で分岐があったので2つのマップを同時にロードする必要があり、FLatentActionInfo型の変数を2つ用意するだけでいいのかなと思ったのですが、1つだけしかロードされませんでした。
調べてみると、UUIDで識別しているみたいで2つの変数に別々のUUIDを与えてあげることで2つロードすることができました。
ちなみにUUIDのデフォルトの値は-1みたいです。