Streampixel automatically detects whether the connected viewer is on a touch device (mobile or tablet) and forwards a JSON message to your Unreal Engine app. Listen for that message to show or hide your touch controls.Documentation Index
Fetch the complete documentation index at: https://docs.streampixel.io/llms.txt
Use this file to discover all available pages before exploring further.
How it works
When a session starts, the frontend sends a message to your UE project on thepixelStreamingResponse channel:
value is true for mobile / tablet browsers and false for desktops. Use it to toggle your in-game touch HUD.
Unreal blueprint setup
Bind to PixelStreamingInputComponent's OnInputEvent
On your
PlayerController (or wherever your touch HUD lives), add a PixelStreamingInputComponent. Bind to its OnPixelStreamingInputEvent delegate.Parse the JSON
The delegate hands you a
Descriptor string. Use the JsonUtilities plugin or a parse node to extract type and value.Branch on type
If
type == "isTouchDevice", set a Boolean variable on your HUD (e.g. bShowTouchUI = value).Sending the message manually
You can also force the touch HUD on or off from your own frontend code, regardless of device detection:- Web SDK
- Iframe (postMessage)
Common pitfalls
HUD shows briefly on desktop before hiding
HUD shows briefly on desktop before hiding
The detection message arrives shortly after the stream connects. Hide the HUD by default and show it only when the message arrives.
HUD never appears on iPad
HUD never appears on iPad
iPad Safari reports as macOS by default unless “Request Mobile Website” is set. Detect using
'ontouchstart' in window from the frontend and override the message manually.Touch input doesn't reach UE
Touch input doesn't reach UE
Make sure
touchInput: true is set in your SDK config. See input controls.Next steps
JSON messaging (UE side)
The full blueprint pattern for receiving JSON from the frontend.
Mobile streaming recipe
Optimize codecs, bitrate, and UI for mobile viewers.