# JSON Message Communication

## 📘Overview

Streampixel uses a **messaging channel** between your frontend and the Unreal Engine app to exchange JSON.

* Messages **from Unreal → Frontend**: status updates, events, analytics.
* Messages **from Frontend → Unreal**: configuration, commands, live input.

There are **two distinct methods** for sending messages from the frontend to Unreal:

1. **Startup Parameters (URL)**
   * A one-time JSON passed in the URL when launching the app.
   * Delivered automatically at session start.
   * Requires no frontend code.
2. **Runtime Messages (WebSDK / Iframe API)**
   * Interactive messages sent anytime after the app is running.
   * Requires using Streampixel’s WebSDK or Iframe integration.
   * Ideal for dynamic, user-driven experiences.

Both methods deliver messages into Unreal through the same Pixel Streaming system. From Unreal’s perspective, there is no difference in handling; you can branch logic based on the content of the JSON.

{% content-ref url="json-message-communication/unreal-side-sending-and-receiving-json" %}
[unreal-side-sending-and-receiving-json](https://docs.streampixel.io/resources/json-message-communication/unreal-side-sending-and-receiving-json)
{% endcontent-ref %}

{% content-ref url="json-message-communication/frontend-side-sending-and-receiving-json" %}
[frontend-side-sending-and-receiving-json](https://docs.streampixel.io/resources/json-message-communication/frontend-side-sending-and-receiving-json)
{% endcontent-ref %}
