Built-in Voice & Text Chat
This page explains the resolution settings available for customizing the video streaming experience in Streampixel.
πBuilt-in Voice and Text Chat Guide
This page provides a comprehensive guide on using Streampixelβs built-in voice and text chat, enabling real-time communication within your Unreal Engine applications. Youβll learn how to enable chat options, understand the system behavior, and customize chat interactions for various use cases like collaborative apps, multiplayer simulations, or virtual showrooms.
π§© Chat Features Overview
Streampixel provides integrated text and voice chat features out of the box, available to enable per project.

Text Chat
Enables a real-time chat window for users to exchange messages during the stream.
Voice Chat
Activates high-quality, low-latency voice communication using WebRTC.
Chat UI Theme
Select between Light or Dark theme for the chat interface.
Chat UI Position
Align the chat interface to the Left or Right side of the screen.
Mute on Entry
Automatically mute the microphone of each user when they join the session.
Communication Startup Behavior
Choose whether chat starts automatically with the session or only when triggered by your Unreal application.
Enabling Communication
To enable chat features for your project:
Go to your Project Dashboard.
Navigate to the Communication tab.
Toggle Text Chat and/or Voice Chat to βEnabledβ.
Choose your Chat UI Position (Left or Right).
Set your Chat UI Theme (Light or Dark).
(Optional) Enable Mute User on Entry if you want microphones to be muted when users join.
Communication Startup Behavior
This setting determines when the chat interface appears during a session.
Start on Session Begin
The chat interface becomes visible automatically as soon as the stream starts.
Start When Triggered by App
The chat interface is only shown when explicitly triggered from the Unreal Engine app, Iframe or WebSDK.
If you choose Start on Session Begin and do not trigger chat from your Unreal Engine application, Streampixel will automatically assign:
A temporary display name
A randomly generated profile picture
These are visible to other users, allowing communication to happen even without manual setup.
Programmatic Connection & Disconnection
You can start or stop the built-in communication system β including both text and voice chat β programmatically by sending messages from either:
Unreal Engine (via Pixel Streaming Blueprint)
A custom frontend (via
iframe
message)WebSDK (
window.postMessage()
or WebSocket command)
This gives you full control over when and how communication features are enabled in your application.
Make sure that Communication Startup Behavior
is set to Start when triggered by App
π‘ Trigger Methods
This message can be sent via:
Unreal Engine: Using
send pixel streaming response
node via the blueprintsiframe Embed: Using
iframe.contentWindow.postMessage(...)
π Connect to Chat
To start a communication session, send the following JSON message either from Unreal or Iframe:
{
"message": {
"type": "comms",
"value": {
"name": "Alice",
"pfpUrl": "https://example.com/avatar.jpg",
"roomId": "room-123"
}
}
}
Parameters:
name
(string) β Display name of the user in the chat window.pfpUrl
(string) β URL to the user's profile picture. This will be shown next to their messages and in the voice chat panel.roomId
(string) β A unique ID representing a communication room. Users with the sameroomId
will be able to see and talk to each other.
If
roomId
is not specified, all users will be placed into a default room based on the project β i.e., one room per project. This means every user connected to the same project instance will be able to communicate.
π Disconnect from Chat
To disconnect the user from the chat system, simply send:
{
"message": {
"type": "comms",
"value": "disconnect"
}
}
This will:
Immediately stop both voice and text communication
Remove the user from the current room
Clean up the UI for a seamless experience
Unreal Engine Setup (Blueprint Method)
To trigger chat from Unreal:
β
Start Connection (Blueprint)

Use the Send Pixel Streaming Response
node. Append the following string parts to create the message:
A: {"message":{"type":"comms","value":{"name":"
B: Input Display Name
C: ","pfpUrl":"
D: Input URL
E: ","roomId":"
F: Input Room ID
G: "}}}
JSON structure must be perfect. Avoid missing quotes or brackets.
π Disconnect (Blueprint)

To disconnect from chat, send:
{"message":{"type":"comms","value":"disconnect"}}
Use the same Send Pixel Streaming Response
method.
π Iframe Setup
If youβre embedding the experience via an iframe, you can initiate or terminate communication by sending the same JSON messages (π Connect to Chat and π Disconnect (Blueprint) Jsons.) described above using postMessage
. No additional configuration is required β just ensure the iframe is actively streaming your project. For more info check Stream Control Commands
Last updated