【UE5】Unrealエディタ起動時にポストプロセスを無効にする方法
Unreal Engineを使う場合、通常はポストプロセスを有効にすると思いますが、モバイル環境などではポストプロセスが制限されるケースもあるため、エディタ上でもポストを無効にして実機 (モバイル環境) と同じ見た目にしたい場合があると思います。
ということで今回は、Unrealエディタ起動時にポストプロセスを無効にする方法を紹介したいと思います。
ポストプロセスを無効にするコンソールコマンド
ポストプロセスを無効にするには、以下のコンソールコマンドを実行すると無効にできます。
showflag.PostProcessing 0
ただ Unrealエディタを起動するたびに、これを実行するのは手間です。
Config/*.ini では設定できないのか?
コンソール変数を書き換えるだけなら、Config/*.ini で設定できるのではないか…、と思って色々試してみたのですが、ポストプロセスのレイヤーが複雑になっているためなのか簡単にはできないようでした。
そこで今回は エディターユーティリティブループリント (EUB) を使って、Blueprintから "showflag.PostProcessing 0" を "Execute Console Command" で実行するという方法を取りました。
実装手順
以下、Unreal エディタ実行時に自動で コンソールコマンドを呼び出す方法です。
Editor Utility Objectの作成
まずは「エディタユーティリティ > エディターユーティリティブループリント」を作成します。

親クラスは、すべてのクラスから "Editor Utility Object" を選択。

アセット名は「EUB_RegisterMenu」としました。

ダブルクリックで開いて、"Event Run" ノードを作成、"Execute Console Command" を作成して接続します。

Commandには "showflag.PostProcessing 0" を指定しました。
コンパイルして保存しておきます。
DefaultEditorPerProjectUserSettings.iniの作成
次にプロジェクトがあるフォルダから "Config" に移動して、設定ファイル "DefaultEditorPerProjectUserSettings.ini" を作成します。

この設定ファイル "DefaultEditorPerProjectUserSettings.ini" は、エディタのユーザー設定初期値となるものです。
このファイルに先程の作成した "Editor Utility Object" を自動で呼び出す設定を以下のように記述します。
エディタを再起動して確認
エディタを再起動して動作を確認します。
コンソールコマンドに「showflag.PostProcessing」と入力しますが、実行せずにマウスカーソルをコンソールコマンドの枠に移動。

ポップアップに「現在の値 0」という表示がされれば成功です!
おまけ
ポストプロセスを無効にするだけではなく、他のコンソールコマンドを実行したい場合、例えば FString の配列を定義して、

(※ 例えば "r.ShadowQuality=0" で落ち影無効)
"For Each Loop" でまとめて実行ということもできますね。

おしまい
以上、Unreal エディタを起動したときにポストプロセスを無効にする方法でした。
Unreal エディタ起動時限定なので、あまり使う機会はないかもしれませんが、何かのお役に立てれば幸いです。
参考
- UE5:Editor Utilityを活用したツール制作術 第9回:独自メニューのカスタマイズ:Editor Utility Blueprint を "DefaultEditorPerProjectUserSettings.ini" に設定して、自動で呼び出すようにする方法を参考にしました

