Skip to content

KBVEWebSurface

KBVEWebSurface renders interactive web content onto Unreal world surfaces. The plugin is game-agnostic and targets reuse across chuckrpg, future KBVE titles, and external Fab distribution.

  • Flat panelUKBVEWebSurfaceComponent wraps a UWidgetComponent with an embedded UMG WebBrowser.
  • Curved / holographicUKBVEWebRenderSurfaceComponent pipes the browser through a render target onto an arbitrary mesh + material.
  • ActorAKBVEWebSurfaceActor ships as a drop-in for terminals and kiosks.

UKBVEWebInputRouter maps player line traces to widget-pixel coordinates. Hit UVs come from FindCollisionUV, so Support UV From Hit Results must be enabled on the project.

UKBVEWebBridge exposes a typed message bus between embedded JS and Blueprint/C++. Pages call window.kbveBridge.send(channel, payload); the bridge re-broadcasts via OnMessage.

CEF is expensive. The plugin ships a per-surface frame-rate cap, offscreen pause, snapshot fallback at distance, and a UKBVEWebSurfacePool LRU cap on concurrent live surfaces.

The default backend wraps Unreal’s stock UWebBrowser (CEF). Alternate backends (Ultralight, WebUI) plug in via IKBVEWebBackend and ship as separate plugins.

  • Marketplace / auction house
  • Account, guild, social screens
  • Admin and debug terminals
  • Patch notes, news boards
  • In-world interactive billboards and kiosks
  • Combat HUD, health bars, minimap — use Slate/UMG.
  • Per-NPC labels, shop signs, hundreds of world objects — too expensive per surface.