SetBlendState() is called from non-UI code but has HDR UI overrides baked in. The UI specific code should be moved to the UI code that calls SetBlendState() - likely in FCanvas, or the function should be more explicit that there is a UI special case handling.
The override exists because when r.HDR.UI.CompositeMode is enabled, UI is rendered into an offscreen buffer that later gets composited with the HDR scene. The alpha channel matters for that composition step, so SE_BLEND_Translucent (which writes BF_Zero, BF_One to alpha — i.e., doesn't touch alpha) gets remapped to SE_BLEND_AlphaBlend (which writes BF_InverseDestAlpha, BF_One — accumulates alpha properly), however.
Expected
The blend mode is set to SE_BLEND_Translucent
Actual
The blend mode is mapped to SE_BLEND_AlphaBlend
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-370940 in the post.
| 0 |
| Component | UE - Rendering - Architecture |
|---|---|
| Affects Versions | 5.7 |
| Created | Mar 20, 2026 |
|---|---|
| Resolved | Apr 6, 2026 |
| Updated | Apr 6, 2026 |