以下の内容はhttps://kumasan-debug.hatenablog.com/entry/2025/04/25/021527より取得しました。


【UE5】ボタンなどの Widget を無効化したときに自動で半透明になるのを止める方法

ボタンなどの Widget 全般は SetIsEnabled ノードを使用することで、有効/無効を切り替えることができるようになっています。

無効状態に設定された Widget は、自動的に半透明になるのですが、この記事ではその自動で半透明になる効果を無効化する方法について紹介しています。

半透明を止める方法

以下のコンソールコマンドを実行すると、 Widget が無効状態になったときの半透明化を無効にできます。
Slate.ApplyDisabledEffectOnWidgets false

コンソールコマンド実行時の参考動画を載せておきます。

www.youtube.com

また、ウィジェットリフレクタの「フラッグ > 透明率が無効なエフェクト」からでもオン/オフを切り替えられます。

起動時からこの設定を反映しておきたい場合は、 DefaultEngine.ini に以下を追記すれば OK です。

[ConsoleVariables]
Slate.ApplyDisabledEffectOnWidgets=false

注意点

設定は全体に反映される

この設定は、ゲーム中にビューポートに追加されたすべての Widget に一括で反映されるため、特定の Widget だけに反映することはできません。

利用可能なバージョンは UE5.2 以降

Slate.ApplyDisabledEffectOnWidgets は UE5.2 から追加された機能なので、それ以前のバージョンでは利用できません。

RetainerBox の子要素には反映されない

以下の投稿を見て知りましたが、 RetainerBox の子要素にはこの設定が反映されません。(UE5.5.4 でも同様の挙動を確認しました。)
仕様なのか不具合なのかはわかりませんが、 RetainerBox を使う際は注意しましょう。

forums.unrealengine.com

あとがき

ボタンを無効化したときの見た目を変えようとしていたのですが、無効状態の半透明がボタンの子要素にまで反映されてしまい、困っていました。
ですが、 Slate.ApplyDisabledEffectOnWidgets を使うことで解決できてよかったです。


記事の内容について、誤字脱字、内容の誤り、感想などありましたら気軽にコメントしていただけると嬉しいです。(このブログでも SNS でも歓迎です。)




以上の内容はhttps://kumasan-debug.hatenablog.com/entry/2025/04/25/021527より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14