Detecting User's Device in pixel streaming
Eagle 3D Streaming allows your Unreal Engine app to detect the end user’s device (OS, platform type, input capabilities, etc.) by leveraging the browser's native information. This enables you to dynamically adjust controls and UI — for example, enabling touch-based interaction for mobile users and mouse-based navigation for desktops.
You can do this in one of two ways:
Option 1. Send Message Directly
Add a Pixel Streaming Input component in your Blueprint.
Use the
Send Pixel Streaming Response
node to send the following JSON:CODE{"cmd":"sendDeviceInfo"}

Figure 1. Send Message Directly
This instructs the browser to return the user’s device info.
Use Case: For developers building custom communication pipelines.
Option 2. Use E3DS Features Plugin (Recommended)
Add an instance of
E3DS_PS_actor
(from the plugin) to your level.Call the built-in function:
👉Request User Device Info
💡 Bonus: The plugin also includes a helper node
👉 Detect User Device
which automatically parses the response and returns key values like:
OS Name
Is Touch Device (✅ / ❌)

Figure 2. Using E3DS Feature Plugin
For calling any function E3DS features plugin you need to have one instance of E3DS_PS_actor in your level you can find this actor in the plugin’s content
Once the E3DS platform receives your request for user device information, it will respond with a JSON message similar to the example below:
{
"type": "takeUserDeviceInfo",
"userDeviceInfo": {
"os": {
"name": "Windows",
"short_name": "WIN",
"version": "10",
"platform": "x64",
"family": "Windows"
},
// ... additional device information
}
}
You will receive other device-related data as well (such as browser info, engine, etc.), but in most cases, you’ll only need the os.name
and os.short_name
fields.
Here are the possible values you might receive in the os.name
and os.short_name
fields:
name | short_name |
---|---|
Windows | WIN |
macOS | MAC |
Linux | LIN |
ChromeOS | CHR |
Android | AND |
iOS | IOS |
You can parse the message and extract the field you need, using your own custom functions, installing plugins (e.g. Json Utilities, VaRest,…) or use E3DS Feature Template function Detect User Device
simply connect the function to your On Input Event
and this function will extract user’s device and also tell you whether it is a touch device or not

Figure 3. Collect Device Info
as an example the blueprint graph above will print the following on an android device.

Figure 4. Showing Device Info
Need help?
🛠️ Contact our Support Team
💬 Join the Community on Discord
Follow us on:
Facebook | GitHub | LinkedIn | YouTube