What the thing is
A Promethist installation is two programs:
UE client |
the Unreal application: renders the avatar, runs the conversation, talks to the Promethist backend |
on site as a kiosk, or remote as a streaming host |
tablet |
a web app the UE client serves: the operator’s controls — start/stop a session, pause, volume, mic mute, language, restart, blackout |
kiosk only |
One name, two guides. This guide says UE client because here you build and package the Unreal application. The Promethist Touch documentation calls the same program the host. From the tablet’s side, what matters is that it holds the truth and answers commands — a name that must keep working even when the program is not Unreal. Same thing.
The tablet is a web app, served by the UE client itself over HTTP on port 8080, controlling it
over a WebSocket on port 9010. No web server is involved, and nothing is installed on the tablet
device: point a browser at the UE client and you have the tablet. The
Promethist Touch repository is that web app.
We say "tablet" throughout because almost every installation uses a touchscreen, though nothing requires one. The WebSocket is the kiosk’s control plane and anything can speak it: a phone, a wall of physical buttons on a microcontroller, a building-management system, your own service. If you build one of those, read "tablet" as "whatever drives the control channel" — the protocol is identical, and this guide remains unchanged.
What the plugin needs from your project
Read this if you are dropping PromethistLink into your own Unreal project. Skip it if you are deploying our build.
The plugin pulls in five engine plugins. Four are hard requirements — the module links against them, meaning the build fails without them rather than quietly doing less. The fifth is genuinely optional and marked so:
| Plugin | Why | |
|---|---|---|
|
the connection to the Promethist backend |
required |
|
the streaming bridge |
required |
|
the tablet control channel |
required |
|
the microphone |
required |
|
the local webcam |
optional — leave it out and you lose the webcam, nothing else |
You also need an agent ref — the identifier of the agent the kiosk talks to. Create an agent in
Promethist Studio and it is yours. It is the bare name, e.g. alzaMama; the plugin adds the
agent: prefix itself. Pass it to Connect, or let the browser supply it in the page URL as
?agentRef=…. An empty value falls back to default.
The surprise in that list is PixelStreaming2: you need it even for a kiosk that never streams
anything. This is not a runtime choice. The code links PixelStreaming2, PixelStreaming2Core and
PixelStreaming2Input unconditionally, so a purely local, on-site kiosk must still have the plugin
enabled. It simply sits idle. Whether a launch behaves as a local kiosk or a streaming host is
decided separately, by whether the command line carries a -PixelStreaming… argument.