EffectBox is a highly-performant widget for Unreal Engine that allows applying custom materials.
Supports Unreal Engine 4.27 and newer.
-
Curved HUD
-
HUD shake/displacement during movement or taking damage
-
Any other UI post-effects
-
Create a material with "User Interface" domain and "Alpha Composite (Premultiplied Alpha)" blend mode
-
Add
EffectBox
to your UMG widget -
Specify your material in "Effect Material" widget field
-
Specify texture parameter name in "Texture Parameter" widget field
-
You’re done!
Note
|
If you used RetainerBox for the same purpose before, you can just replace it with EffectBox. |
-
RetainerBox doesn’t play well with Slate Global Invalidation. It invalidates too much aggressively, resulting in bad performance. At least as of UE-5.4, RetainerBox fully disables FastPath update. With complex UIs, EffectBox is able to save up to multiple milliseconds compared to RetainerBox.
-
RetainerBox had long-standing bugs (UE-107863, UE-114934, UE-203471 and so on) that only got fixed in Unreal Engine 5.4.
-
RetainerBox is complex. Its primary goal is to reduce UI redraw rate, which it implements by caching UI in a render target. Actually, that could even be achieved without introducing a render target, so it is questionable whether RetainerBox solves even its main task effectively. When one uses RetainerBox to draw each frame just to apply visual effects, it is an ineffective overkill.