20% off Steal the Deal With Unreal Engine Plugins For Grab
IoTPulse
Realtime publish/subscribe and device shadows through AWS IoT Core: MQTT 5 over secure WebSockets with Cognito credentials, from Blueprints and C++, built on the officiaβ¦
Highlights
All 13 features βIoTPulse turns AWS IoT Core into a realtime message bus for your game - no servers to run, scale or patch. Lobby chat, live events, presence, spectator feeds, remote configuration and companion apps all become MQTT topics that players publish to and subscribe to straight from Blueprints or C++.
Connect opens an MQTT 5 connection over a secure WebSocket on port 443 and signs it with the player's own AWS credentials from an Amazon Cognito identity pool, so your IAM policy decides exactly which topics each player may use. Publish and Subscribe support QoS 0 and 1, + and # wildcards, retained messages, a last will for presence, and the MQTT 5 request / response properties. The connection reconnects by itself with exponential back-off and renews its subscriptions when the broker lost the session; events tell you when it dropped, came back or stopped. Publish And Wait confirms that the broker accepted a message.
Device shadows keep small JSON documents per thing in the cloud: Get Shadow, Update Shadow (reported or desired state, optimistic locking with versions) and Delete Shadow work over HTTPS, and Make Shadow Topic lets you follow every change in realtime over MQTT. Publish (HTTPS) sends a one-off message without a connection.
For kiosks, venue machines and other fixed devices, Connect With Certificate uses an X.509 client certificate instead of AWS credentials. Static keys and the default AWS credential chain are available for development, dedicated servers and tools.
Every message, connection event and result arrives on the game thread, and connections close automatically when Play In Editor ends.
IoTPulse is part of the Alpha XP AWS collection for Unreal Engine 4.27 and 5.8. It includes the AWS SDK for C++ and the AWS Common Runtime prebuilt for Win64, Linux and Android and ships with styled HTML documentation, including an example IAM policy.
Key features
- Connect: MQTT 5 over a secure WebSocket (port 443), signed with AWS SigV4 using the
- Connect With Certificate: X.509 client certificate (mutual TLS) for kiosks and fixed
- Publish / Subscribe with QoS 0 and 1, + and # wildcards, retained messages and a last will
- MQTT 5 response topic, correlation data, content type and user properties on received
- Automatic reconnect with back-off; subscriptions renewed after a reconnect without session
- Events: On Message, On Connection Lost, On Reconnected, On Stopped, On Subscribed
- Publish And Wait: confirmation from the broker (QoS 1)
- Device shadows over HTTPS: Get, Update (reported / desired, optimistic locking) and Delete
- Publish (HTTPS) without a connection
- Topic helpers: Make Topic, Make Shadow Topic, Topic Matches Filter
- Amazon Cognito identity pools for guest and signed-in players; static keys and the
- Cancellable latent nodes; everything delivered on the game thread
- Connections close automatically when the game instance shuts down
Blueprint & C++ API
Every call is reachable from more than one place β pick the entry point that fits your project:
| Class | Type | Nodes | Use it for |
|---|---|---|---|
| IoTPulseLibrary | Function library | 11 | Configuration, identity and topic helpers for IoTPulse. |
| IoTPulseConnection | Object | 6 | A live MQTT 5 connection to AWS IoT Core, returned by Connect / Connect With Certificate. |
| Async action nodes | Latent Blueprint nodes | 2 | Latent node with success / failure output pins. |
Callable runs when executed Β· Pure no exec pin, returns a value Β· LatentAsync finishes later and fires its outputs
IoTPulse 2
| Node | Type | Available on | Description |
|---|---|---|---|
| Cancel | Async | Async | Stops waiting: none of this node's output pins fire any more. A request already sent may still complete on AWS. |
| Is Finished | Async | Async | True after Cancel was called or the node finished. |
MQTT 6
| Node | Type | Available on | Description |
|---|---|---|---|
| Publish(Topic: String, Payload: String, Qo S: Io T Pulse Qo S, Retain: Boolean, Payload Bytes: Array of Byte, β¦) β Boolean | Callable | Object | Publishes a message. Returns false if it could not be queued (stopped connection, invalid topic). |
| Subscribe(Topic Filter: String, Qo S: Io T Pulse Qo S) β Boolean | Callable | Object | Subscribes to a topic filter; "+" matches one level, "#" the rest (for example "game/lobby/+/chat"). Messages arrive on On Message, the broker's answer on On Subscribed. |
| Unsubscribe(Topic Filter: String) β Boolean | Callable | Object | Stops receiving messages for a topic filter. |
| Disconnect | Callable | Object | Sends DISCONNECT (no last will is published) and stops reconnecting. On Stopped fires when done. |
| Is Connected() β Boolean | Pure | Object | True while the MQTT connection is up (false during a reconnect). |
| Get Client Id() β String | Pure | Object | The MQTT client id of this connection (identity policies often refer to it). |
Config 3
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Region(Region: String) | Callable | Static | Switches the AWS region used by every following connection and request. |
| Set Credential Mode(Mode: Io T Pulse Credential Mode) | Callable | Static | Overrides the credential mode from the project settings at runtime. |
| Is Configured() β Boolean, Problem | Pure | Static | Checks the settings and returns false with a reason when connections cannot work yet. |
Identity 5
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Login Token(Provider: String, Token: String) | Callable | Static | Signs the player in to the Cognito identity pool with a token from an identity provider. |
| Clear Login Tokens | Callable | Static | Forgets all login tokens and the cached identity (the player becomes a guest again). |
| Set Static Credentials(Access Key Id: String, Secret Access Key: String, Session Token: String) | Callable | Static | Uses these credentials from now on (Static Keys mode), for example temporary keys handed out by your own backend. |
| Get Identity Id() β String | Pure | Static | The Cognito identity id of this player (also the default MQTT client id), empty until credentials were resolved once. |
| Make User Pool Provider Name(Region: String, User Pool Id: String) β String | Pure | Static | Builds the identity-pool login key of a Cognito user pool: cognito-idp.<region>.amazonaws.com/<user pool id>. |
Topics 3
| Node | Type | Available on | Description |
|---|---|---|---|
| Make Topic(Levels: Array of String) β String | Pure | Static | Joins topic levels with "/", for example ["game", "lobby", LobbyId, "chat"] -> "game/lobby/42/chat". Stray slashes are removed. |
| Make Shadow Topic(Thing Name: String, Shadow Name: String, Topic: Io T Pulse Shadow Topic) β String | Pure | Static | The reserved MQTT topic of a device shadow, for example "$aws/things/Lobby42/shadow/name/state/update/delta". |
| Topic Matches Filter(Topic: String, Filter: String) β Boolean | Pure | Static | True if Topic matches an MQTT filter with "+" (one level) and "#" (all remaining levels) wildcards - handy to route On Message. |
Events & delegates
Bind these in Blueprint (drag off the object β Bind Event) or with AddDynamic in C++.
| Event | Parameters | Fires on | When it fires |
|---|---|---|---|
| On Connected | Connection (Io T Pulse Connection), Error (Io T Pulse Error) | IoTPulseConnectAction | Connected: Connection is ready for Publish / Subscribe. |
| On Failure | Connection (Io T Pulse Connection), Error (Io T Pulse Error) | IoTPulseConnectAction | The first connection attempt failed (Connection is None); Error says why. |
| On Success | Error (Io T Pulse Error) | IoTPulsePublishAction | |
| On Not Found | Shadow (Io T Pulse Shadow), Error (Io T Pulse Error) | IoTPulseGetShadowAction | The thing has no such shadow yet. |
| On Message | Message (Io T Pulse Message) | IoTPulseConnection | A message arrived on a subscribed topic. |
| On Connection Lost | Error (Io T Pulse Error) | IoTPulseConnection | The connection dropped (network loss, credentials expired, duplicate client id). It reconnects unless Auto Reconnect is off. |
| On Reconnected | Session Present (Boolean) | IoTPulseConnection | Connected again after On Connection Lost. Session Present = subscriptions survived on the broker. |
| On Stopped | β | IoTPulseConnection | The connection stopped for good (Disconnect, or a drop with Auto Reconnect off). |
| On Subscribed | Topic Filter (String), Success (Boolean), Granted Qo S (Integer), Error (Io T Pulse Error) | IoTPulseConnection | The broker answered a Subscribe: Success = granted (Granted QoS 0 or 1), otherwise Error says why. |
Project settings
Configure once under Project Settings βΊ Plugins βΊ IoTPulse β values are saved to the project's config .ini, so they travel with the project and your build.
| Setting | Section | Type | What it does |
|---|---|---|---|
| Region | Connection | String | AWS region of your IoT endpoint and identity pool, for example "us-east-1" or "eu-west-1". |
| Credential Mode | Credentials | Credential Mode | Where request credentials come from. |
| Identity Pool Id | Credentials | String | Cognito identity pool, for example "us-east-1:01234567-89ab-cdef-0123-456789abcdef". |
| Allow Guest Access | Credentials | Boolean | Allow unauthenticated (guest) identities before Set Login Token is called. The pool must allow guest access too. |
| Access Key Id | Credentials | String | Access key for Static Keys mode. Keys saved here end up in DefaultGame.ini - use them for development and servers only. |
| Secret Access Key | Credentials | String | Secret key for Static Keys mode. |
| Allow Static Keys In Shipping | Credentials | Boolean | Static keys are refused in Shipping builds unless this is enabled (for example on a dedicated server). |
| Io T Data Endpoint | IoT | String | Your account's AWS IoT Core data endpoint, for example "a1b2c3d4e5f6g7-ats.iot.us-east-1.amazonaws.com". |
| Request Timeout Ms | Connection | Integer | Total time an HTTPS request (shadows, Publish (HTTPS)) may take, in milliseconds. |
| Connect Timeout Ms | Connection | Integer | Time allowed to open a network connection (HTTPS and MQTT), in milliseconds. |
| Max Retries | Connection | Integer | Automatic HTTPS retries with exponential back-off for throttled and transient failures. |
| Worker Threads | Connection | Integer | Worker threads that run HTTPS requests and connection setup in the background. |
| Verify SSL | Connection | Boolean | Verify TLS certificates of HTTPS requests. Only disable for a local emulator. |
| Log Sdk Warnings | Connection | Boolean | Forward SDK warnings and errors to the Output Log (LogIoTPulse). |
| Keep Alive Seconds | IoT | Integer | MQTT keep-alive (PING) interval in seconds when Connect leaves it at 0. AWS IoT Core accepts 30 - 1200. |
| Auto Reconnect | IoT | Boolean | Reconnect automatically after the connection drops. Off: a dropped connection stops (On Connection Lost, then On Stopped). |
| Min Reconnect Delay Ms | IoT | Integer | First reconnect delay in milliseconds; it doubles (with jitter) after every failed attempt. |
| Max Reconnect Delay Ms | IoT | Integer | Longest reconnect delay in milliseconds. |
| Default Qo S | IoT | Qo S | QoS used when a node's QoS is "Default". QoS 0 = fire and forget, QoS 1 = acknowledged and retried. |
| Ack Timeout Seconds | IoT | Integer | Time to wait for the broker's acknowledgement of a QoS 1 publish, a subscribe or an unsubscribe, in seconds. |
Options & enums
| Enum | Values |
|---|---|
| Credential Mode | Cognito Identity Pool Static Keys Default Credential Chain |
| Qo S | Default (Project Settings) QoS 0 (At Most Once) QoS 1 (At Least Once) |
| Shadow Section | Reported State Desired State Full Document |
| Shadow Topic | update update/accepted update/rejected update/delta update/documents get get/accepted get/rejected delete delete/accepted delete/rejected |
Compatibility
One ready-made build per engine version is included in the download β copy the one that matches your project.
| Platform | Supported in |
|---|---|
| Windows | Editor & packaged |
| Linux | Editor & packaged |
| Android | Packaged builds |
| Module | Type | Loading phase |
|---|---|---|
| IoTPulse | Runtime | Default |
Technical details
| Code modules | IoTPulse (Runtime), IoTPulseSdk (External, Source/ThirdParty - prebuilt AWS SDK for C++ and AWS Common Runtime) |
|---|---|
| Blueprints | 0 Β· C++ classes: 12 |
| Network replicated | No |
| Development platforms | Windows: Yes, Mac: No, Linux: Yes |
| Target build platforms | Win64, Linux, Android |
| Third-party software | Yes - AWS SDK for C++ 1.11.916 and the AWS Common Runtime libraries (Apache-2.0), in Source/ThirdParty/IoTPulseSdk |
| Engine versions | Unreal Engine 4.27 Β· 5.8 β a build for each is included |
| C++ classes | 12 + 4 structs |
| Blueprint nodes | 19 |
| Events | 9 |
| Documentation | Documentation.html (in the download) |
| Download | IoTPulse.zip Β· 34.3 MB |
| Version | v1.0.0 |
What's in the download
| File | What it is |
|---|---|
| IoTPulse 4.27.zip | Plugin build for Unreal Engine 4.27 |
| IoTPulse 5.8.zip | Plugin build for Unreal Engine 5.8 |
| Documentation.html | Documentation (open in a browser) |
Quick start
- Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
- Copy the IoTPulse folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable IoTPulse under Edit βΊ Plugins and restart the editor.
- Fill in Project Settings βΊ Plugins βΊ IoTPulse.
- Right-click in any Blueprint graph and search IoTPulse β or include the public headers from C++.
- Package for your target platform (Windows, Linux, Android).
Good to know
Built for Unreal Engine 4.27 and 5.8. Requires an AWS account with AWS IoT Core; messages, connection minutes and shadow operations are billed by AWS. Signed-in Cognito identities also need an AWS IoT policy attached by your backend (see the documentation). On Linux and Android TLS trusts the root certificates of the engine's SSL module and HTTPS uses the engine's libcurl and OpenSSL. On Win64 the SDK is one DLL with a plugin-specific name, so IoTPulse can be installed next to other AWS-based plugins. Never ship long-term access keys or device private keys in a game client: use a Cognito identity pool for players. Developed and maintained by Alpha XP.
Everything included
- Connect: MQTT 5 over a secure WebSocket (port 443), signed with AWS SigV4 using theβ¦
- Connect With Certificate: X.509 client certificate (mutual TLS) for kiosks and fixedβ¦
- Publish / Subscribe with QoS 0 and 1, + and # wildcards, retained messages and a last will
- MQTT 5 response topic, correlation data, content type and user properties on receivedβ¦
- Automatic reconnect with back-off; subscriptions renewed after a reconnect without session
- Events: On Message, On Connection Lost, On Reconnected, On Stopped, On Subscribed
- Publish And Wait: confirmation from the broker (QoS 1)
- Device shadows over HTTPS: Get, Update (reported / desired, optimistic locking) and Delete
- Publish (HTTPS) without a connection
- Topic helpers: Make Topic, Make Shadow Topic, Topic Matches Filter
- Amazon Cognito identity pools for guest and signed-in players; static keys and theβ¦
- Cancellable latent nodes; everything delivered on the game thread
- Connections close automatically when the game instance shuts down
Platforms
Requirements
- Unreal Engine 4.27 and 5.8
- Develop on Windows (Win64)
- Blueprints and C++
In the download
Personal
One non-commercial project
- 1 activation seat
- 1 year of updates
- One end product
- Non-commercial use
- Community support
- 14-day refund window
Commercial
Ship paid products
- 5 activation seats
- 1 year of updates
- One paid end product
- Unlimited end users
- Priority support
- Source files
- 14-day refund window
Extended
Resell & white-label
- Unlimited activation seats
- Lifetime updates
- Unlimited end products
- White-label & resell
- 1-hour SLA
- Seat-free team use
- 14-day refund window
One purchase per product, no subscription. Each licence comes with a signed key β 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.
- v1.0.0Latest
- Unreal Engine 4.27 and 5.8
- Blueprint and C++ API, HTML documentation
Be the first to review IoTPulse β reviews come from customers who bought it, so every one is a verified purchase.
Frequently asked
How do I get the files after paying?
Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.
Which licence do I need?
Personal β One non-commercial project. Commercial β Ship paid products. Extended β Resell & white-label. The Licences tab compares them side by side.
On how many devices can I activate it?
1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.
How long do I get updates?
Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.
Can I get a refund?
Yes β paid licences can be refunded within 14 days, straight from your order page.
Is the download safe?
The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β In the download, so you can verify the file you receive.
Do I need an account?
No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.
More like this
AudioLens
Real-time audio analysis: FFT spectrum, onset and beat detection, and a full set of time- and frequency-domain descriptors..
β β β β β No reviews yetTTechHarbour$14.00BlueprintTCP
BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints β no C++ and no networking boilerplate.
β β β β β No reviews yetTTechHarbour$12.99BluetoothLink
Bluetooth Low Energy for Unreal - scan, connect, read, write and subscribe to BLE devices on Android and iOS.
β β β β β No reviews yetTTechHarbour$11.99ClusterLink
SocketCluster realtime client for Unreal - pub/sub channels, auth engine and JSON codec, usable from Blueprints.
β β β β β No reviews yetTTechHarbour$11.99