Skip to main content
Skip table of contents

Testing Unreal VR App Using Epic’s Signaling Server with a VR Headset

Before uploading your app to the Control Panel, it’s important to verify that it’s fully compatible with Pixel Streaming. To ensure your packaged build runs smoothly in a streaming environment, you should first test the app locally using Epic’s Pixel Streaming Signaling Server.

This test confirms that core Pixel Streaming features (e.g., streaming quality, interaction, and headset support) are working as expected.

Important:
From Step 1 to Step 10, perform everything on your computer. Step 11 should be done inside your VR headset.

Follow the steps to test your app locally using the Epic Signaling Server:

Step 1. Run get_ps_servers.bat

Path:

[Packaged Folder] > Windows > [Your Project Name] > Samples > PixelStreaming > WebServers > get_ps_servers.bat

Example:
If your project name is MyProject2, and you selected a folder named "Packaged Folder" during packaging, the path will be:
Packaged Folder > Windows > MyProject2 > Samples > PixelStreaming > WebServers > get_ps_servers.bat

image-20241228-151406.png

Figure 1. Run get_ps_servers.bat

Step 2. Wait for Dependencies to Download

Once you run the .bat file, a terminal will open, download required files, and close automatically.After downloading all required files the terminal will be automatically closed.

image-20241228-151910.png

Figure 2. Required files downloading

Step 3. Enable HTTPS in config.json

  1. Navigate to [Packaged Folder] > Windows > [Your Project Name] > Samples > PixelStreaming > WebServers > SignalingWebServer

    image-20250805-023614.png

    Figure 3. Edit config.json




  2. Open the config.json file and set: "useHttps": true

  3. Save the file.

image-20250805-023749.png

Fig 4. Enable HTTPS

Step 4. Add Certificate Files

Download the following ZIP file and extract its to the SignalingWebServer folder: Download Zip File

image-20250805-024904.png

Figure 5. Certificate folder extracted

Make sure the extracted folder includes the necessary certificate files.

image-20250805-025111.png

Fig 6. Contents inside certificate folder

Step 5. Run the Signaling Server

  1. Navigate to: [Packaged Folder] > Windows > [Your Project Name] > Samples > PixelStreaming > WebServers > SignalingWebServer > platform_scripts > cmd

  2. Run the run_local.bat file.

In newer versions of Unreal Engine, the file is renamed to Start.bat. Use that if run_local.bat is not present.

image-20241228-152724.png

Figure 7. Run run_local.bat or Start.bat

Important: Keep the terminal window open for the remainder of the steps

Step 6. Wait for Local Server Setup

  1. When the script runs, additional files will be downloaded.

  2. Once completed, leave the terminal open.

Don’t close the terminal for rest of the steps of this section

image-20241228-152502.png

Figure 8. Local signaling server started

Step 7. Create a Shortcut of Your App Executable

  1. Go to: [Packaged Folder] > Windows

  2. Locate the .exe file of your app (e.g., MyProject2.exe), right-click, and select Create Shortcut.

image-20241228-152958.png

Figure 9. Create shortcut

Step 8. Add Command-Line Arguments to the Shortcut

  1. Right-click the shortcut > Properties

    image-20241228-153036.png

    Figure 10. Edit shortcut properties


  2. In the Target field, after the existing path, add a space and then the following:

    CODE
    -log -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 -RenderOffScreen -AllowPixelStreamingCommands -PixelStreamingEnableHMD -ResX=1920 -ResY=1080

Example:
"C:\Path\To\MyProject2.exe" -log -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 -RenderOffScreen -AllowPixelStreamingCommands -PixelStreamingEnableHMD -ResX=1920 -ResY=1080

image-20241228-153439.png

Figure 11. Final command line added

  1. Apply the changes

Step 9. Double click on the shortcut of the exe file to open it.

Keep the terminal window from Step 5 open while doing this.

image-20241020-071549.png

Figure 12. Launching the app

If you see an error like Encoder pending resolution exceeds device max capabilities, ensure the -ResX=1920 -ResY=1080 flags are included.

error.jpg

Figure 13. Encoder pending resolution exceeds device max capabilities

Step 10. : Get Your Local IP

  1. Go to your command prompt and type “ipconfig” and press “Enter” key.

    image-20250805-144332.png

    Figure 14. Finding IPV4 Address


  2. Copy IPV4 Address.

    image-20250805-144449.png

    Figure 15. Copy the IPV4 Address

Use the displayed IP address to open the stream on your VR headset browser.

Step 11. Open the Stream in Your VR Headset

  1. On your VR headset, open the browser and enter the following URL using the local IP address you obtained in Step 10 on your computer:

    Example: If Step 10 showed your IP as 192.168.1.25, enter: https://192.168.1.25

  2. Press the XR button to launch immersive mode.

    xr.jpg

    Figure 16. Press the XR Button

Your app should now stream locally via Pixel Streaming.

Your App will start only if the Pixel Streaming plugin is enabled.

If the Pixel Streaming plugin wasn’t enabled before packaging your app, the stream won't launch. Instead, you’ll see a generic server interface. To enable pixel streaming go to Enable Pixel Streaming Section

image-20241020-074102.png

Figure 17. Pixel Streaming not enabled


Need help?

🛠️ Contact our Support Team

💬 Join the Community on Discord

🆓 Get Started for free

 

Follow us on:

Facebook | GitHub | LinkedIn | YouTube

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.