Skip to content

Transparent HUD background

The plugin renders Web HUDs with a transparent background by default. Each layer fills its anchor rect; only opaque pixels in your page block what's behind. No extra setup needed.

What the plugin does

  1. UBindableWebBrowser is constructed with bSupportsTransparency = true — CEF allocates a transparent surface.

  2. After page load, the bridge injects:

    html
    <style>html,body{background:transparent !important;}</style>

    This neutralizes the user-agent default white and any body { background: ... } you set.

CSS pitfalls

  • Don't set body { background: <color> } — the injected !important rule wins.

  • Don't set html { background-color: ... } — same.

  • Want a solid panel? Render an opaque <div> on top of the transparent body:

    tsx
    <div style={{ background: '#0a0e14', padding: 16, borderRadius: 12 }}>…</div>

Opting out (debug only)

Project Settings → Plugins → Unreal React Bridge → Force Background Transparent → false. Injection is skipped on the next page load. Re-enable before shipping.

Mac UE 5.7 known issue

Semi-transparent regions render fully opaque black

On UE 5.7 Mac, rgba(0,0,0,.5) or a transparent body renders as fully opaque black. Engine regression — bSupportsTransparency = true IS reaching SWebBrowser correctly, but the Slate/Metal compositor drops it.

Tried and didn't help:

  • bSupportsTransparency
  • +TargetedRHIs=SF_METAL_SM5
  • Removing intermediate UMG containers

Works on UE 5.6.1 with the same plugin and page. Expected to be fixed on UE 5.8.

Workaround for Mac UE 5.7: design with opaque panels, or disable bForceBackgroundTransparent so the page's natural color renders predictably.

Mac UE 5.7 — initial white flash

~100ms of opaque white on first mount

~100ms of opaque white on first layer mount before React renders. This is the WKWebView NSView default fill.

Tried and didn't suppress it:

  • SWebBrowser::BackgroundColor
  • ShowInitialThrobber(false)
  • EVisibility::Hidden
  • SetRenderTranslation

Treat as cosmetic until UE 5.8.

See Troubleshooting & FAQ for the full list of known issues.

Released under the MIT License.