Unreal Engine pixel streaming is an Epic Games plugin that renders a packaged Unreal Engine application on a cloud or on-premise GPU and streams the frames plus audio to any modern web browser over WebRTC. Teams use pixel streaming when the client device cannot run the scene locally, when a large audience needs instant access without a download, or when a single build must reach desktop and mobile browsers with identical visuals. It first shipped with Unreal Engine 4.27 and is supported in Unreal Engine 5.
How Unreal Engine pixel streaming works under the hood
Pixel streaming keeps the Unreal Engine application on a GPU-backed server and sends the rendered frames to the browser as an encoded video track. The server runs the packaged UE app in a windowless mode, captures the swap-chain output, encodes it with NVENC (H.264 or H.265), and pushes it through a signaling server to the connected browser. Input events from mouse, keyboard, touch or gamepad travel back over the same WebRTC data channel and are injected into the running UE process.
The default stack that ships with the plugin includes a Node.js signaling and web server, a Cirrus front-end page, and a matchmaker service when more than one UE instance is running. Larger deployments usually replace Cirrus with a custom front-end and put the signaling server behind a load balancer.
Because the transport is WebRTC, the same connection handles the outbound video, the inbound input, and any custom bidirectional messages the UE application emits or receives. This is what makes pixel streaming useful for interactive configurators and multi-user viewers, not only passive playback.
When pixel streaming is the right choice
Pixel streaming pays off when three conditions align: the scene is too heavy for the client device, the audience is broad and unpredictable, and the studio wants to keep the source build and assets on its own infrastructure. Automotive configurators, real-time architectural walkthroughs, industrial digital twins, product demos, and interactive marketing experiences are the most common production cases. Pixel streaming is a poor fit for latency-critical competitive gameplay, for scenes that already run at 60 fps on target hardware, and for deployments where the browser client base is small enough to justify a native download.
WebRTC transport, signaling and NAT traversal
WebRTC transport is what lets pixel streaming reach a browser without a plugin. The signaling server exchanges SDP offers and answers between the UE instance and the client, and ICE candidates are collected on both sides so the peer connection can be established through the shortest available path.
For public deployments on the open internet, a TURN relay is usually required for the share of users behind symmetric NAT. Coturn is a common self-hosted option, and every hyperscaler has a managed equivalent. Teams underestimate this part often, because internal testing over a corporate LAN masks the NAT problem until launch day. Epic Games documents the full signaling and TURN setup in its official pixel streaming documentation.
Cloud GPU options for Unreal Engine pixel streaming
The choice of GPU instance drives cost and visual quality more than any other decision. NVIDIA T4 handles Unreal Engine 4 scenes and lighter UE5 scenes at 1080p60. NVIDIA A10G and L4 handle heavier UE5 scenes with Lumen enabled at 1080p or 1440p. NVIDIA A100 or H100 is only justified for very heavy scenes or multi-session sharing on one GPU.
- AWS G4dn (T4): entry tier for UE4 and modest UE5 workloads, widely available across regions.
- AWS G5 (A10G): stronger choice for UE5 with Lumen and higher output resolutions.
- GCP N1 with T4 or G2 with L4: comparable price and performance to AWS T4 and A10G tiers.
- Azure NVv4 (AMD MI25) and NC A100 v4: viable when the studio is already on Azure.
- Vagon: managed pixel streaming with per-session GPU allocation and built-in autoscaling.
- Self-hosted workstations with RTX A4000 or A5000: predictable cost for small internal audiences.
Hosting comparison: self-hosted, AWS, GCP, Azure and Vagon
Each hosting path trades control against operational overhead. The table below summarizes the practical tradeoffs Game-Ace tracks when scoping pixel streaming delivery for a client.
| Path | GPU tier | Autoscaling | Latency baseline | Best fit |
|---|---|---|---|---|
| Self-hosted (own workstations) | RTX A4000 / A5000 | Manual | 20-40 ms LAN, 60-120 ms WAN | Internal review, small teams |
| AWS EC2 G4dn / G5 | T4 / A10G | Auto Scaling Groups | 70-140 ms same region | Mid to large public audiences |
| GCP N1-T4 / G2-L4 | T4 / L4 | Managed Instance Groups | 70-140 ms same region | Studios already on GCP |
| Azure NVv4 / NC A100 v4 | MI25 / A100 | VM Scale Sets | 80-150 ms same region | Enterprise clients on Azure |
| Vagon Streams | T4 / A10G class | Built-in per-session | 80-150 ms | Fast launch without infra work |
Latency figures assume a same-region client on a 25 Mbit connection. Cross-region viewers add 40-120 ms on top depending on route quality.
Bandwidth, latency and cost planning
A single 1080p60 pixel streaming session typically consumes 10-20 Mbit downstream to the client. 1440p60 pushes 20-35 Mbit, and 4K60 pushes 35-60 Mbit with H.265. Upstream input traffic from the client is negligible, usually below 100 Kbit.
Cost planning starts from GPU-hour price and expected concurrency. A single AWS G4dn.xlarge runs around 0.50-0.60 USD per hour, a G5.xlarge around 1.00-1.20 USD per hour, and an L4 instance on GCP sits between the two. Multiply by peak concurrent sessions and expected hours per month, then add data transfer at 0.05-0.09 USD per GB egress. AWS documents current instance pricing in its G5 instance reference.
Idle GPU cost is the trap: an instance that stays warm for 8 working hours a day at 1 USD per hour costs about 240 USD per month per session, even if nobody connects. Scale-to-zero policies and session-based allocation, which is what Vagon offers by default, are the common answer for spiky audience patterns.
Browser and mobile support
Any browser with modern WebRTC support can play pixel streaming: Chrome, Edge, Firefox, and Safari on desktop, plus Chrome and Safari on mobile. H.264 remains the safest video codec baseline because iOS Safari has historically been strict about H.265 in WebRTC contexts.
Mobile playback works, but the input model needs planning. Touch input has to be mapped to Unreal input actions, and virtual gamepad overlays are common for interactive experiences that were originally designed for keyboard and mouse. Teams evaluating a broader Unreal Engine developers engagement for this kind of work usually scope the input layer alongside the streaming infrastructure, not after it.
Security, authentication and session control
For public launches, the signaling server should sit behind an authentication layer, and each UE instance should be reachable only through short-lived signed URLs. TURN credentials should rotate per session, and the UE build should be recompiled with logging that separates client input from server-side telemetry.
For enterprise deployments, private VPC or VNet networking removes the internet as an attack surface entirely, and client access runs through the corporate identity provider.
When to talk to Game-Ace about Unreal pixel streaming
Pixel streaming projects depend on more than the Unreal Engine build. Signaling architecture, TURN coverage, GPU capacity, autoscaling, and session costs affect latency, stability, and performance under real traffic.
Game-Ace can support your project from an infrastructure consultation to full-cycle development of the streamed application. As a game development studio with experience in Unreal Engine, we align the production build and cloud infrastructure with your expected audience, performance requirements, and budget.
Unreal Engine 5.6 cinematics: a production guide
How to build an endless runner game in Unreal Engine
Best game engines: a working shortlist
Unity vs Unreal: picking the right engine for your game
Unreal Engine 4 vs 5: evolution in game development
























