Files
UE-RundownControl/API.md
T
2026-05-15 17:27:26 +02:00

5.4 KiB
Raw Blame History

Unreal Rundown Server API

Descrption

As I understand, this experimental feature of Motion Design Plugin that allow us to make several action with rundowns. This documentation based on Unreal Engine 5.5.1 and Motion Design v1.0. The initial setup of the rundown server is describe here.

Establishing connection

The port number and the server bind address is setup in unreal engine project setting window section Plugins|Websocket Messaging|Transport. Another important thing is to select the right transport type (JSON|CBOR).

After establishing the websocket connection, you will receive a lot of messages that does not you need. First of all, you must send an AvaRundownPing and the the rundown server will send you back an AvaRundownPong with a Sender field needed to start sending other commands.

The Pong message Sender field is the UUID of the Rundown server’s endpoint in the message bus system. This is then used as the Recipients field for all other messages from the Websocket client.

--- Message Bus Handshake with Rundown Server in Unreal Engine 5.5 Official documentation

Once you have this precious (it takes me days to finnaly understand that without at least on Recipients in the array nothing will happen), just run some commands

Common Fields

Sender

An Id you can choose. It's something like your the expeditor and the rundownServer will respond backl to you by placing Sender yopu provided in the Recipients field.

Recipients

Array of recipients of the message

MessageType

This is the real endpoints of the message, something like the command address. The MessageType can have multiple usage out of RundownServer. For example, with http commands via websockets or managing remote control presets.

Scope

Enum determinig the scope of the message bus system. For the rundownServer it always will be "Network"

Expiration

Unix time at which the message gets discarded. Important

Annotations

Optional message annotations. I've never use this for now.

Message

Content of the message. This is the specific part of the messaging system. It's parameters that you send to the server.

Commands

ServerInfo/Script/AvalancheMedia.AvaRundownPing

example:

{
  "Sender": "F2DCD99C267C4F84B50CF091AA4ED608",
  "Recipients": [],
  "MessageType": "/Script/AvalancheMedia.AvaRundownPing",
  "Expiration": 253402300799,
  "Scope": "Network",
  "Annotations": {},
  "Message": 
            {
              "requestId" : -1 // could be customize to your needs
            }
}

ServerInfo/Script/AvalancheMedia.AvaRundownGetServerInfo

example:

{
  "Sender": "F2DCD99C267C4F84B50CF091AA4ED608",
  "Recipients": [
    "139696A842C8861F52E756BB60AA8661"
  ],
  "MessageType": "/Script/AvalancheMedia.AvaRundownGetServerInfo",
  "Expiration": 253402300799,
  "Scope": "Network",
  "Annotations": {},
  "Message": 
            {
              "requestId" : -1 // could be customize to your needs
            }
}

ServerInfo/Script/AvalancheMedia.AvaRundownGetRundowns

example:

{
  "Sender": "F2DCD99C267C4F84B50CF091AA4ED608",
  "Recipients": [
    "139696A842C8861F52E756BB60AA8661"
  ],
  "MessageType": "/Script/AvalancheMedia.AvaRundownGetRundowns",
  "Expiration": 253402300799,
  "Scope": "Network",
  "Annotations": {},
  "Message": 
            {
              "requestId" : -1 // could be customize to your needs
            }
}

ServerInfo/Script/AvalancheMedia.AvaRundownLoadRundown

example:

{
  "Sender": "F2DCD99C267C4F84B50CF091AA4ED608",
  "Recipients": [
    "139696A842C8861F52E756BB60AA8661"
  ],
  "MessageType": "/Script/AvalancheMedia.AvaRundownLoadRundown",
  "Expiration": 253402300799,
  "Scope": "Network",
  "Annotations": {},
  "Message": 
            {
              "rundown": "/Game/Rundowns/001Rundow.001Rundown", // rundown Path within unreal
              "requestId" : -1 // could be customize to your needs
            }
}

Unreal Engine 5.5 Official Documentation

Unofficial Documentation

Author

Ange-Marie MAURIN | GitHub