Known Issues
Tracked footguns the bridge plugin currently has. Each entry lists the platform / UE version where it bites, the symptom, and the recommended workaround.
Mac UE 5.7 chat keyboard cannot focus
- Platform: macOS
- UE version: 5.7
- Tags: mac, ue57, keyboard, chat, focus
Symptom
Pressing a key while the CEF browser layer is focused does not produce keystrokes inside the HUD. Both Slate-focus injection and Carbon window capture fail.
Cause
Engine regression in 5.7's WebBrowser widget on macOS. Slate focus is not forwarded to CEF; the focused element does not receive WM_CHAR equivalents.
Workaround
Use click-to-type: route a button/click event from BP to the React side, then have React open an <input> with autoFocus. Do not invest in Keyboard Binding wiring on Mac UE 5.7 — it will not work.
Slate clip cannot round-corner the CEF layer
- Platform: all
- UE version: 5.7
- Tags: ui, rounded, clip, slate, css
Symptom
Wrapping WBP_WebHUD in a Retainer Box / Clip to Bounds with a rounded mask does not produce rounded HUD corners — the CEF texture renders square inside the clip.
Cause
CEF texture is composited outside the Slate clip mask.
Workaround
Apply border-radius in HTML/CSS on the root element of your React app. The CEF layer is already transparent by default, so a rounded root naturally produces rounded HUD corners.
SampleProject Live Coding fails
- Platform: macOS
- UE version: 5.7
- Tags: sampleproject, live-coding, content-only, build
Symptom
Live Coding > Compile fails immediately in SampleProject because the project itself is content-only (no Source/ directory of its own).
Workaround
Build the plugin headlessly and relaunch the Editor:
UBT_PATH=/path/to/UnrealBuildTool
"$UBT_PATH" UnrealReactBridge Mac Development -Project="$(pwd)/SampleProject/SampleProject.uproject"
# then restart UnrealEditoruseUnrealState envelope auto-unwrap
- Platform: all
- UE version: any
- Tags: sdk, useUnrealState, envelope, typed-payload
Symptom
Plain window.addEventListener('player:hp', e => …) receives e.detail = { value: 75 }, but useUnrealState('player:hp', 0) returns 75 directly. Mixing the two confuses readers.
Cause
useUnrealState unwraps the typed-payload envelope { value: T } automatically. Raw listeners do not.
Workaround
Prefer useUnrealState for streamed scalar values; reserve raw listeners for events whose payload is not a {value} envelope (e.g. PushMap, PushRaw).