Plugin Documentation

MqttLink
MQTT publish/subscribe client

An MQTT client for publishing and subscribing with QoS, plus topic validation and wildcard matching.

v1.0.0
UE 4.27–5.0+
Win64 · Mac · Linux · iOS · Android
Category Networking
Disabled by default
Alpha XP
MqttLink diagram
MqttLink — architecture & feature overview

Overview

MqttLink connects to an MQTT broker, publishes and subscribes to topics with QoS levels, and delivers messages to Blueprints. Helper nodes build messages and validate/match topics.

Fork note Module MqttUtilities was renamed to MqttLink for UE 4.27–5.0+; bundled demo content is migrated via CoreRedirects. MakeMqttMessage, topic validation and wildcard matching were added.
Disabled by default This plugin ships the bundled third-party library mosquitto / MQTT client (per-platform) and is shipped with "EnabledByDefault": false. Enable it from Edit → Plugins (or set the flag in its .uplugin) once the library builds on your target platform.

Requirements

RequirementDetails
Unreal Engine4.27–5.0+
Bundled librarymosquitto / MQTT client (per-platform) (in Source/ThirdParty)
LanguageBlueprints and/or C++
PlatformsWin64 · Mac · Linux · iOS · Android

Installation

  1. Copy the MqttLink folder into your project's Plugins/ directory.
  2. C++ projects: regenerate project files and build. Blueprint-only projects can launch the editor directly.
  3. Open Edit → Plugins and confirm MqttLink is enabled (it is off by default — turn it on).

Client & helpers (UMqttLinkBPL)

NodeTypeDescription
Create Mqtt ClientCallableCreate a client from a config.
Make Mqtt MessagePureBuild an FMqttMessage (topic, payload, QoS, retain).
Is Valid Mqtt TopicPureValidate a publish topic.
Match Mqtt TopicPureTest a topic against a subscription filter (+ / # wildcards).

Utility node pack

General-purpose networking utilities added to UMqttLinkBPL — available from Blueprints and C++.

NodeTypeDescription
CRC32 Of BytesPureCRC32 checksum of a byte array.
MD5 Of String / SHA1 Of StringPureHex digests of a UTF-8 string.
Make Guid StringPureNew random GUID (hyphenated).
Now Unix SecondsPureCurrent UTC time as Unix seconds.
Unix Seconds To ISO8601PureUnix seconds → ISO-8601 UTC string.
Format Byte SizePureHuman-readable size, e.g. 1536 → 1.5 KB.
Random TokenPureRandom alphanumeric token (ids, nonces).
XOR Bytes With KeyPureXOR bytes with a repeating key (obfuscation, not encryption).
Is Valid HostnamePureRFC-952/1123-style hostname validation.

Credits

© Alpha XPalphaxp.net. Developed and maintained for UE 4.27–5.0+.