| 執筆バージョン: Unreal Engine 5.4 |
エディタ操作用に用意されている色々なノード。
その中でLevel Creationカテゴリに割り当てられているノードに絞ったプチまとめです。
このカテゴリのノードは主にサブレベルに関連する処理を行うことが出来ます。
(ワールドパーティションが有効なレベルでは恐らく動作しません、本記事では未検証です)

・Add Level To World

指定したレベルにサブレベルを追加することが出来ます。
また、追加したサブレベルはCurrentLevelとして指定されます。
・World
- 追加先となるレベル。
- UnrealEditorSubsystemのGetEditorWorldで取得したレベルを指定することで、
現在エディタで開いているレベルにサブレベルを追加することが出来ます。
- 直接アセット指定するとレベルのセーブが出来なくなる不具合?仕様?あり。
・Level Package Name
- サブレベルとして追加するレベルのパス
- 指定する際の書式は /Game/[Folder]/[AddSublevelName]
これはアセットにマウスホバーした際のPrimaryAssetNameに表示されるパスと同じです
・Level Streaming Class
- サブレベルのストリーミング形式を指定できます
LevelStreamingAlwaysLoaded:
ChangeStreamingMethodで「AlwaysLoaded」を指定した状態のサブレベルとして追加されます
LevelStreamingDynamic:
ChangeStreamingMethodで「Blueprint」を指定した状態のサブレベルとして追加されます
その他のクラス:
未検証です(クラッシュしたりするため、正しい使い方の検証が出来ていません。情報求む)

【サンプル】サブレベルを追加するノードグラフ
・Add Level To World With Transform

指定したレベルにTransformをかけたサブレベルを追加することが出来ます。
また、追加したサブレベルはCurrentLevelとして指定されます。
・World
- Add Level To Worldと同様
・Level Package Name
- Add Level To Worldと同様
・Level Streaming Class
- Add Level To Worldと同様
・Level Transform
- 追加するサブレベルにかかるトランスフォームの値
- 追加したサブレベルのLevel DetailsのPositionとRotationが、指定したTransformで入力された状態となります。
- ScaleはLevel Detailsでは指定出来ないですが、かかった状態で追加されます。
(本来エディタ上に公開されていない操作の為、不具合が起きる可能性もあるかもしれません。こちら 未検証です)


・Create New Streaming Level

現在開いているレベルに新規にサブレベルを生成して追加します。
また、追加したサブレベルはCurrentLevelとして指定されます。
・Level Streaming Class
- Add Level To Worldと同じ
・New Level Path
- 追加されるサブレベルの保存先となるパス
- 指定する際の書式は /Game/[Folder]/[AddSublevelName]
これはアセットにマウスホバーした際のPrimaryAssetNameに表示されるパスと同じです
・Move Selected Actors Into New Level
- このフラグがONの場合、ノード実行時にエディタ上で選択されているアクターが新規作成されるサブレベルに移動します。
・Make Level Current

指定したサブレベルをCurrentLevelに設定します。
LevelEditorSubsystemのSetCurrentLevelByNameと機能的にはほぼ同じです。
・In Streaming Level
- CurrentLevelに指定するサブレベル
・Move Actors To Level

指定したアクターを指定したサブレベルに移動します。
既に詳しく解説している記事が存在するので、そちらも合わせて参照ください。
[UE5] レベルを整理するEUWを作成しよう!
・Actors To Move
- 移動する対象となるアクターのリスト
・Dest Streaming Level
- アクターの移動先となるサブレベル
- GetStreamingLevelを利用することで任意のLevelStreamingObjectをこの引数に渡せます
・Warn About References
- 移動によって参照が機能しなくなるアクタの警告を出すかどうかのフラグ
・Warn About Renaming
- リネームに関する警告を出すかどうかのフラグらしい
- フラグONで移動先に同名のアクターがある場合でも自動でリネームされ、特にダイアログが出なかったので詳細不明です
・Move Selected Actors To Level

エディタ上で選択しているアクターを指定したサブレベルに移動します。
・Dest Level
- アクターの移動先となるサブレベル
・Warn About References
- 移動によって参照が機能しなくなるアクタの警告を出すかどうかのフラグ
・Remove Level From World

現在開いているレベルから指定したサブレベルを取り除きます。
・In Level
- 取り除くサブレベル
- 他のノードと違い、指定するクラスがLevelObjectとなることに注意
- StreamingLevelObjectReferenceからは、GetLoadedLevelを使うことでLevelObjectを取得することが可能
・Clear Selection
- エディタの選択状態を解除するかのフラグ
・Reset Transaction Buffer
- Undo履歴をクリアするかどうかのフラグ

【サンプル】指定した名前のサブレベルを削除する