Skip to content

Offline demo (no Node required)

The plugin ships a self-contained HTML demo under Resources/WebDemo/. Open one map, press Play, and you can verify the entire bridge in 30 seconds — no Vite, no npm install, no Node at all.

Open the map

  1. Enable Unreal React Bridge in your project (Edit → Plugins → Web → Unreal React Bridge).
  2. In the Content Browser, set the plugin filter to UnrealReactBridge and open Maps/L_OfflineDemo.
  3. Press Play.

Offline demo running in PIE

What you'll see

A dark HUD card with three panels stacked vertically:

PanelWhat it proves
Bridge status — green dot, connected · v1ue5-bridge-ready fired; window.ue.bridge is bound
UE → WebHP number ticking once a secondThe bundled AOfflineDemoActor pushes player:hp events; the HTML's addEventListener('player:hp', …) receives them
Web → UESend ping / Use potion buttonsClicking calls window.ue.bridge.onreactevent(…); UE's OnEventReceived fires; you can see the event in the Output Log

When to use this vs. the dev server

Offline demoDev server
ToolchainNoneNode 18+, pnpm, Vite
Edit-reload loopNoYes — Vite HMR
Stack usedVanilla HTML / JSReact + SDK + your CSS
Use caseFirst-look, Fab review, "does this work in my project at all?"Daily development

See Start the React dev server once you're ready to build your own HUDs.

Want the full multi-HUD demo instead?

L_OfflineDemo is the 30-second smoke test. For the buyer-facing HUD shown on the Fab listing (HP / minimap / skill bar / chat / keybindings), see Bundled multi-HUD demo.

How it works under the hood

A tiny C++ actor (AOfflineDemoActor) lives in L_OfflineDemo. On BeginPlay it calls Get Bundled Demo URL which returns a file:///<plugin>/Resources/WebDemo/index.html URL. That URL feeds into the existing Add Web HUD node, which mounts the HTML at a center-anchored layer. The HTML uses the documented Bridge Protocol v1 directly — no React, no SDK, no external dependencies.

Not for shipping

Don't use Get Bundled Demo URL as the URL of a HUD you intend to ship. The returned path is absolute and embeds the plugin's install location, so it won't survive being moved (cooked packaging, end-user installs, etc.). For shipped HUDs, package your React build under Content/Web/ and load it via a file:/// URL relative to the project, or serve it from an embedded HTTP server.

Released under the MIT License.