Viewing and Controlling a Headless UE From a Browser
When showing a military simulator to a customer, "come visit our server" is not an option. Opening a browser should be all it takes to see the Unreal Engine rendering from a remote GPU server, pan the camera with a mouse, and take control with a keyboard. Pixel Streaming is what makes this possible. It rests on three pillars.
Three Pillars
Rendering diagram…
- Headless rendering — The UE instance on the server renders without a display window (headless ≠ no-render). Those pixels are compressed into a video stream by the NVENC hardware encoder.
- WebRTC streaming — The compressed video is delivered to the browser in real time over WebRTC.
- Real-time interaction — Mouse and keyboard input from the browser travels back to the server UE, enabling genuine remote control.
Video goes down (server → browser); input goes up (browser → server). This bidirectional flow is the point — it is not a video broadcast but remote operation.
Getting the Combination Right Is Non-Trivial
This pipeline only works when all components are on a mutually compatible set of versions.
💡 Version compatibility is half the work — Pixel Streaming requires the plugin generation (legacy vs. current), signaling server version, engine branch, startup map, and launch flags to all be compatible with each other. One mismatch produces "connection succeeds but screen is black." Once you find a working combination, lock it down.
The Trap of Always-On GPU Operation
⚠️
-RenderOffScreenstill eats GPU — unattended always-on operation is forbidden — Even headless rendering keeps NVENC encoding heavily loaded. Leaving it running as a nohup background process "for the demo" means the GPU stays at ~90% utilization indefinitely. An auto-stop maximum runtime safety mechanism is mandatory — no display does not mean the GPU is idle.
Why This Is Part of the Product
Pixel Streaming is not a demo trick. "Connect from anywhere via a browser to view and control the simulation" is the delivery model of a customer-facing product. Heavy GPU and engine on the server, users on a lightweight browser — this is the SaaS simulation delivery model.
In a nutshell
📌 Pixel Streaming combines headless rendering + WebRTC streaming + real-time bidirectional input to let a browser view and control a remote GPU's UE instance. Version compatibility accounts for half the effort; NVENC's GPU load makes auto-stop mandatory for unattended operation. This is a SaaS delivery model, not a demo.
References
See standard test results with videos and verdict evidence on the imSim Portal.
View public results →