The only Unreal Engine plugin engineered for Meta Quest that renders live 1080p web video (YouTube, Twitch, WebGL) onto any 3D surface with zero black screens, zero APK bloat, and full W3C VR laser interaction.
Direct Qualcomm Snapdragon VPU hardware decoding via native Android VirtualDisplay. Zero black screens on YouTube, Twitch, and HTML5 video, rendered directly to Unreal Dynamic Materials.
Reuses Meta Quest OS System WebKit directly. Adds only 24 KB to your packaged APK compared to 250 MB bloated CEF binaries, saving thermal headroom, memory bandwidth, and battery life.
Line trace from VR motion controllers directly to any 3D mesh. Converts raycast UV hits into native web clicks, CSS hover states, kinetic touch dragging, and analog thumbstick scrolling.
Run as many concurrent 3D screens as your VR project needs (ChatGPT, Trello, Discord, Docs) with complete instance isolation, independent session cookies, and per-display TargetFPS caps.
Execute arbitrary JavaScript in the web DOM via ExecuteJavaScript() and receive structured JSON events back into Unreal Blueprints via window.quest3d.postMessage().
Requires zero dangerous Android runtime permissions (zero camera, zero mic, zero external storage). Guaranteed automated ingestion pass for Meta Horizon Store and App Lab submissions.
Real-world benchmarks measured live on Meta Quest 3 standalone headsets.
A direct side-by-side comparison against standard Unreal UMG WebBrowser and bloated third-party CEF plugins.
| Key Architectural Feature | 👑 Quest 3D WebView | Standard UMG WebBrowser | Third-Party CEF Plugins |
|---|---|---|---|
011080p 70+ FPS Hardware Web Video Hardware-decoded YouTube, Twitch, and HTML5 video streaming on 3D meshes. | ✅ 70+ FPS (Zero Black Screens) | ❌ Black Screen Bug (Vulkan) | ⚠️ Heavy Frame Drops |
02Plugin APK Size & Bloat Impact on your packaged APK download size. | ✅ 0.02 MB (24 Kilobytes) | 0 MB (Built-in) | ❌ +250 MB Extra Bloat |
03Multi-Instance Workspaces Run ChatGPT, YouTube, and Trello simultaneously on separate 3D screens. | ✅ Multi-Screen Isolated | ❌ Mutex Collisions & Crashes | ⚠️ Massive RAM Exhaustion |
04W3C VR Laser Hover & Pointing Support for web dropdown menus, tooltips, and hover states via VR line traces. | ✅ Full W3C Pointer Events | ❌ Tap Only (No Hover) | ⚠️ Partial Support |
05Android Permissions Required Runtime permissions needed from the user in VR. | ✅ 0 Permissions Needed | 0 Permissions | ❌ Requires Storage/Network Perms |
06Setup & Integration Speed Time required to place and render your first 3D web screen. | ✅ Under 5 Minutes | 10+ Complex UMG Steps | Weeks of Custom C++/NDK |
Click between common VR workflows to see how clean and concise your Blueprints will be.
// On Controller Trigger Pressed:
LineTraceByChannel(ControllerForward, 500cm)
-> HitResult.FindCollisionUV()
-> TargetWebView.ClickUV(HitUV);From immersive game worlds to enterprise XR simulation cockpits.
Stream live YouTube 4K videos, Twitch gaming channels, and WebGL mini-games on giant virtual IMAX screens inside your VR games.
Create your own Virtual Desktop or Immersed-style productivity hub. Run ChatGPT, Slack, Trello, and Google Docs on separate 3D screens.
Display real-time medical patient telemetry, flight manuals, PDF guides, and web dashboards directly inside industrial digital twins.
Embed live e-commerce websites and real-time car/house customizers directly into architectural and automotive Unreal experiences.
Everything you need to know about performance, architecture, store submission, and capabilities.
Standard UMG WebBrowser relies on software canvas capturing which cannot decode or composite Android hardware video overlay surfaces. Quest 3D WebView solves this by binding the underlying WebKit pipeline to an isolated hardware VirtualDisplay backed by an Android ImageReader, rendering hardware video at 70+ FPS directly to an Unreal Dynamic Material.
Quest 3D WebView has no arbitrary screen limits! You can run 2–3 active 1080p 70+ FPS video displays simultaneously, or 1 main video screen paired with 5–10+ isolated productivity dashboards (ChatGPT, Discord, Trello, PDF documentation). Each screen has its own isolated instance ID, session cookies, and independent TargetFPS limiter.
Yes, unconditionally! The plugin uses 0 dangerous Android runtime permissions (zero camera, zero microphone, zero external storage). It simply uses standard internet networking, ensuring an immediate automated pass through Meta Horizon Store review.
Yes! You can load offline web applications directly from the Quest local filesystem using file:///android_asset/ or custom file paths, as well as data: URI payloads. Perfect for offline flight training simulators, defense applications, and remote VR kiosks.
The plugin includes full W3C pointer and touch event support. By line tracing from your VR motion controller to any 3D mesh, the ClickUV() and SendHoverEventUV() nodes convert UV hits into native web clicks, mouse moves, hover states, and continuous touch drags. Analog thumbstick scrolling is supported via ScrollBy().
Sub-millisecond! Unreal can execute arbitrary JavaScript in the web DOM via ExecuteJavaScript() with zero overhead. Webpages can send structured JSON payloads back into Unreal Event Graphs by calling window.quest3d.postMessage(), which instantly fires the OnJavaScriptMessage delegate.
The plugin features automatic DOM text input focus detection. Whenever a user laser-clicks any web input field, password box, or textarea, the OnTextInputFocusChanged delegate fires immediately in Unreal, allowing you to summon your 3D VR virtual keyboard and route keystrokes via SendText() and SendKey().
Yes! You can set bMuted in the Details panel or call SetMediaMuted(true) / SetMediaVolume(0.5f) dynamically via Blueprints at runtime. Web media elements will automatically pause audio processing, saving CPU cycles and preventing audio overlap in multi-screen virtual rooms.
Yes! GoBack() and GoForward() include an automatic dual-layer fallback: if standard WebKit history is exhausted in modern Single-Page Applications, it executes HTML5 window.history.back() / window.history.forward() inside the web DOM for flawless seamless navigation.
Only ~24 KB (0.02 MB)! Unlike third-party CEF or Chromium engine plugins that add 200MB–300MB of bloated shared libraries, Quest 3D WebView leverages the high-performance WebKit engine already built into Meta Quest Horizon OS.
It takes under 5 minutes! Simply drag the BP_WebScreen actor into your 3D level (or add UQuestWebViewComponent to any actor mesh), type your URL in the Details panel, and click Play. No complex C++ compilation or external Android manifest hacking required.