Skip to content

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:

bash
UBT_PATH=/path/to/UnrealBuildTool
"$UBT_PATH" UnrealReactBridge Mac Development -Project="$(pwd)/SampleProject/SampleProject.uproject"
# then restart UnrealEditor

useUnrealState 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).

Released under the MIT License.