KBVEWebSurface
Overview
Section titled “Overview”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.
Surface kinds
Section titled “Surface kinds”- Flat panel —
UKBVEWebSurfaceComponentwraps aUWidgetComponentwith an embedded UMGWebBrowser. - Curved / holographic —
UKBVEWebRenderSurfaceComponentpipes the browser through a render target onto an arbitrary mesh + material. - Actor —
AKBVEWebSurfaceActorships 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.
Bridge
Section titled “Bridge”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.
Performance
Section titled “Performance”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.
Backend
Section titled “Backend”The default backend wraps Unreal’s stock UWebBrowser (CEF). Alternate backends (Ultralight, WebUI) plug in via IKBVEWebBackend and ship as separate plugins.
Use cases
Section titled “Use cases”- Marketplace / auction house
- Account, guild, social screens
- Admin and debug terminals
- Patch notes, news boards
- In-world interactive billboards and kiosks
Anti-use cases
Section titled “Anti-use cases”- Combat HUD, health bars, minimap — use Slate/UMG.
- Per-NPC labels, shop signs, hundreds of world objects — too expensive per surface.