Pando
Bringing Unreal Engine to the web.
Pando brings Unreal Engine to the web as a native platform target. Projects compile to WebAssembly and render through WebGPU, running directly in the browser with no plugins, installs or cloud streaming.
Play Lyra in your browser Native WebAssembly platform
A complete Unreal Engine platform target. Projects build, cook and package to WebAssembly and deploy as static files, with 64-bit and 32-bit builds selected automatically for each browser.
Modern rendering on WebGPU
Unreal's deferred renderer on a WebGPU backend, including Lumen global illumination and reflections, virtual shadow maps, Temporal Super Resolution, GPU-driven instance culling and Niagara GPU particles.
A multithreaded runtime
The engine runs off the browser's main thread, with game, render and RHI threads and a pool of task workers running as Web Workers, so the page stays responsive while the engine uses every core.
Chrome, Firefox and Safari
Each browser's WebGPU limits, texture formats and presentation behaviour are handled at runtime, rather than locking a project to a single browser.


What runs
Rendering
- Unreal's deferred renderer on WebGPU
- Lumen global illumination and reflections
- Virtual shadow maps
- Temporal Super Resolution
- GPU-driven instance culling
- Niagara GPU particles
- Forward renderer for lighter GPUs
Reach
- Chrome, Firefox and Safari
- Desktop, tablet and phone from one package
- 64-bit and 32-bit WebAssembly, chosen per browser
- BC textures for desktop, ASTC for mobile
Runtime
- Game, render and RHI threads off the main thread
- Task workers as Web Workers
- Audio
- Saves kept in the browser
- Touch controls and full screen
Multiplayer
- Listen-server multiplayer between browsers
- WebRTC data channels with a WebSocket relay
- Host migration
Why Unreal needs this
Unreal Engine hasn’t had an official web target since HTML5 support was retired in version 4.24. Today, the standard way to put Unreal content in a browser is Pixel Streaming: the scene renders on a cloud GPU and streams to the user as video. It looks stunning, but every concurrent user needs their own GPU in the cloud, so cost, latency and scale are constant concerns.
Pando takes the opposite approach: the engine itself runs on the user’s device. It adds a complete WebAssembly platform to Unreal Engine, from the build toolchain and shader compiler to a WebGPU rendering backend and a browser runtime for threading, input, audio and storage. Projects cook and package like any other platform, and the result is a set of static files you can host on any web server or CDN.
Proven on Lyra
Pando is developed and validated against Epic’s Lyra Starter Game. The full front end, gameplay, Lumen global illumination, Niagara effects and World Partition levels all run in Chrome, Firefox and Safari, with rendering checked against native builds and every browser tested for performance, memory and input.

Under the hood
Unreal’s renderer was designed around native graphics APIs, while WebGPU deliberately exposes a smaller, safer subset of the GPU. Shaders are cross-compiled to WGSL at cook time, and the rendering backend adapts whatever doesn’t map directly: compute shaders that need more storage buffers than a browser allows are repacked when they load, missing texture formats are emulated with matching precision, and features such as texture atomics are bridged through compute passes. The aim is for Unreal’s rendering features to keep working on the web, not to be switched off.
It’s tempting to think of the web as one more platform. In practice it’s platforms within platforms: every browser ships its own WebGPU implementation, with its own limits, validation rules and memory behaviour, and some differences only show up under real load. An automated test harness drives each browser, captures frames and measures performance and memory, which turns those differences into problems that are visible, repeatable and fixable.
Performance work focuses on keeping the GPU busy and the main thread free: rendering commands are batched into large submissions, per-frame allocations are cut back, and frames in flight are capped to keep input latency low. The result runs at close to the frame rate of a native build of the same scene, and browser output is compared against native to track visual parity.
Private beta
Pando isn’t publicly released yet. It’s in private beta, being tested with a small group of developers. If you’d like to try it on your own Unreal project, get in touch.
Pando is an independent project by Restless Pixels and is not made or endorsed by Epic Games. Unreal, Unreal Engine and Lyra are trademarks or registered trademarks of Epic Games, Inc.

