UWorld の EWorldType を確認すると現在のワールドの状態を取得することができます。
ワールドの状態は以下のものがあります。
・None
・Game
・Editor
・PIE
・EditorPreview
・GamePreview
・GameRPC
・Inactive
この中でも Editor と PIE を使うことで、エディターでプレイ中かそうでないか判定することができます。
UWorld* world = GetWorld(); if (world) { if (world->WorldType == EWorldType::Editor) { // エディターで非プレイ中の処理 } if (world->WorldType == EWorldType::PIE) { // エディターでプレイ中の処理 } }
非プレイ時に Construction Script などで実行すると EWorldType::Editor の判定になります。
開発時に非プレイ時のみ走らせたい処理などに使えるかなと思います。
UE Version : 5.0.0-19044958