Skip to content

Troubleshooting & FAQ

React not loading / blank rect

Symptom: the HUD layer shows as an empty rectangle.

Likely cause: dev server not running; URL wrong; widget URL empty AND DefaultDevURL empty.

Fix: check both URL settings; visit the URL manually in Chrome to confirm it serves your app.

window.ue.bridge is undefined

Symptom: SDK reports the bridge is missing; bridge.send does nothing.

Likely cause: the page was loaded outside UE editor. The bridge only injects under embedded CEF, not in a regular browser.

Fix: use the React SDK's mock/dev mode. UnrealBridgeProvider falls back to a no-op bridge so dev iteration in a real browser works.

Events sent before React is ready

Symptom: state updates from BeginPlay never reach React, or you see EventQueueFull.

Likely cause: events are queued up to MaxEventQueueSize. If you push more than the cap before React mounts, the oldest are dropped.

Fix: raise MaxEventQueueSize in plugin settings, or bind OnReactReady and send on that event.

OnReceived never fires in BP

Symptom: clicking a React button does not trigger the receiver.

Likely cause: EventName mismatch.

Fix: verify EventName matches EXACTLY (case-sensitive). Verify the React side calls bridge.send(eventName, ...) with the same name.

Sender broadcasts when you want a single target

Symptom: every HUD layer receives the push.

Likely cause: TargetBridgeName is empty, which broadcasts.

Fix: set TargetBridgeName on the Sender component to match the HUD's Name / BridgeName. Case-sensitive.

HUD doesn't appear on screen

Symptom: Add Web HUD returns an invalid handle or nothing renders.

Likely cause: called before viewport existed (called outside BeginPlay?), or Size is out of range.

Fix: call from BeginPlay or later. Verify Size is between 0 and 1 on both axes.

Mac UE 5.7 — transparent regions render black

Symptom: rgba(0,0,0,.5) and transparent backgrounds render fully opaque black.

Likely cause: engine regression on Mac UE 5.7.

Fix: see Transparent HUD for workarounds.

Mac UE 5.7 — input doesn't receive keystrokes

Symptom: typing into a React <input> does nothing after opening a chat HUD.

Likely cause: engine regression on Mac UE 5.7 — Slate→CEF keyboard routing is broken.

Fix: click once into the input. See Chat & keyboard focus.

Mac UE 5.7 — white flash on first mount

Symptom: ~100ms of opaque white before React renders.

Likely cause: WKWebView NSView default fill, engine cosmetic issue.

Fix: treat as cosmetic until UE 5.8. See Transparent HUD.

PushMap keys arrive in unexpected order

Symptom: iterating the JS object produces keys in a different order than wired in BP.

Likely cause: BP wire order is non-deterministic.

Fix: read by name on the web side; never rely on iteration order.

Packaged build can't reach localhost:5173

Symptom: dev URL works in PIE but not in Packaged.

Likely cause: dev URL was not swapped for a production URL.

Fix: strip the dev URL. See Production checklist.

FAQ

  • Do I have to use React? No. The wire protocol is published at Bridge protocol. Vue, Svelte, vanilla JS all work.
  • Which engine versions? UE 5.7+. Windows 64 and Mac.
  • Does game logic stay in C++/Blueprint? Yes. State authority stays in UE; React is the view + input layer.
  • Production-ready? Yes — the multi-HUD sample is a 4-layer gameplay-bound UI, not a toy.

Released under the MIT License.