はじめに
UE5.2から、『デフォルト設定では』エディタ実行(PIE)中はEditor Utility Widget(EUW)が無効状態になる仕様になりました。
これは、UE5.2から EUWでもBreakPointによるデバッグがサポートされるようになったのですが、それによりゲーム側のBreakPointとEditorUtility側のBreakPointがPIE中に混在することによる問題に対しての対策として追加された仕様です。
しかし、PIE中にEUWから各パラメータを変更したいケースでこの挙動は非常に困ります。
PIE中でもEUWを動作させる方法
そこで用意されたのが、EUWのClass設定にあるIs Enabled in PIE プロパティです。
UCLASS()
class BLUTILITY_API UEditorUtilityWidgetBlueprint : public UWidgetBlueprint
{
...
private:
// Should the widget be enabled when running PIE
UPROPERTY(Category = Settings, EditDefaultsOnly)
bool bIsEnabledInPIE = false;
// Should the widget be enabled when debugging BP
UPROPERTY(Category = Settings, EditDefaultsOnly)
bool bIsEnabledInDebugging = false;
...
こちらを有効にすると、UE5.1以前と同様にPIE中でもEUWが有効になります。また、その下にある Is Enabled in Debugging も有効にすると、PIE中かつBreakPointで停止している間もEUWが機能するようになります。
ただし、EUWでもBreakPointを使っている場合は意図せぬ挙動が発生したり、ゲーム側とEditorUtility側とで交互にBreakPointが反応したりとデバッグ作業の支障になる可能性があります。そのため、必要に応じて適宜これらのフラグをONOFFするのが良いかと思います。
ちょっとした内容でしたがご参考になれば幸いです。
おしまい