This project demonstrates two-way communication between Unreal Engine and a Web Frontend using Pixel Streaming:
- Response: Sending data from Unreal Engine to the Frontend (e.g., when a seat color changes).
- Commands: Sending commands from the Frontend to Unreal Engine (e.g., triggering a blueprint event).
⚠️ Compatibility Note: This project is built using Unreal Engine 5.3. It is highly recommended to use UE 5.3 to ensure full compatibility with the provided project files and scripts.
Select the project version based on which direction of data flow you are testing.
| Version | Description | Download Links |
|---|---|---|
| Unreal ➔ Frontend | Modified project setup to send data out from Unreal. | Google Drive / Backup (Mega) |
| Frontend ➔ Unreal | Modified project setup to receive commands into Unreal. | Google Drive / Backup (Mega) |
This setup sends a JSON response to the browser console when a specific event (Seat Color Change) occurs in the engine.
To expose the Pixel Streaming instance to the browser console, you must modify the JavaScript source in your packaged build.
- Navigate to the Signalling Web Server directory:
Windows\AutomotiveConfigurator53\Samples\PixelStreaming\WebServers\SignallingWebServer\ - Open
player.js(or the relevant script file in your build). - Search for the following minified code snippet:
var e=new kt({useUrlParams:!0}),t=new Ot(e),s=new ri
- Replace it with the following code (this exposes
window.pixelStreaming):var e=new kt({useUrlParams:!0}),t=new Ot(e);window.pixelStreaming=t;var s=new ri
- Create a Shortcut of your project's
.exefile. - Right-click the shortcut and select Properties.
- In the Target field, add the following arguments to the end of the line:
-log -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 -RenderOffScreen -AllowPixelStreamingCommands
- Run the Signaling Server (usually
run_local.batorstart.bat). - Launch the Unreal Engine application using the Modified Shortcut.
- Open your web browser and navigate to the local stream (usually
http://127.0.0.1orlocalhost). - Open the Developer Console in your browser (F12).
- Paste the following listener code into the console and hit Enter:
window.pixelStreaming.addResponseEventListener("handle_responses", function(data) { console.log("Received from Unreal:", data); });
- Interact: Change the color of the car seat within the stream.
- Verify: You should see the confirmation message appear in the browser console.
This setup allows the web frontend to send commands that execute logic within Unreal Engine.
In the provided "Frontend ➔ Unreal" download, the following changes have already been made to the packaged project:
- Files Added/Modified:
custom_interface.htmlwas added.player.jswas modified to handle the input.
- Location:
These files are located under:
AutomotiveConfigurator53\Samples\PixelStreaming\WebServers\SignallingWebServer\Public
- Run the Signaling Server and the Unreal Engine project (as described in Scenario 1).
- To test the custom interface, visit the specific HTML page in your browser:
http://127.0.0.1/custom_interface.html - Use the interface buttons to trigger events in the Unreal Engine scene.

