Skip to main content

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.

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 ChatEnables a real-time chat window for users to exchange messages during the stream.
Voice ChatActivates high-quality, low-latency voice communication using WebRTC.
Chat UI ThemeSelect between Light or Dark theme for the chat interface.
Chat UI PositionAlign the chat interface to the Left or Right side of the screen.
Mute on EntryAutomatically mute the microphone of each user when they join the session.
Communication Startup BehaviorChoose whether chat starts automatically with the session or only when triggered by your Unreal application.

Enabling communication

To enable chat features for your project:
1

Open your Project Dashboard

Go to your Project Dashboard.
2

Open the Communication tab

Navigate to the Communication tab.
3

Enable Text Chat and/or Voice Chat

Toggle Text Chat and/or Voice Chat to “Enabled”.
4

Choose the Chat UI Position

Choose your Chat UI Position (Left or Right).
5

Set the Chat UI Theme

Set your Chat UI Theme (Light or Dark).
6

Optionally mute users on entry

(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.
OptionBehavior
Start on Session BeginThe chat interface becomes visible automatically as soon as the stream starts.
Start When Triggered by AppThe 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 and 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 blueprints
  • iframe 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 same roomId 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.md