Unreal Engine Marketplace is moving over to Fab in mid-October. Learn more.

Total MQTT

warpstudios - Code Plugins - Jun 22, 2024

Enhance Unreal Engine with MQTT: Real-time IoT integration for Blueprints and C++.

  • Supported Platforms
  • Supported Engine Versions
    5.4
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Total MQTT: Advanced MQTT Integration for Unreal Engine


Total MQTT seamlessly integrates MQTT protocol support into Unreal Engine, accessible through both Blueprints and C++. This plugin enables real-time communication in games and interactive applications, featuring secure message handling, multiple Quality of Service (QoS) levels, and enhanced security with TLS encryption, including support for Mutual TLS and SNI, encrypts certificates for packaging and supports dynamic certificate generation from external API's.


Designed for developers aiming to incorporate complex IoT or real-time communications into their projects, Total MQTT offers easy setup, robust MQTT client/broker management, and flexible message subscription and publishing capabilities within the Unreal environment. Whether you're creating multiplayer games, virtual reality experiences, or advanced simulations, Total MQTT ensures efficient and secure interactions with MQTT brokers.


The plugin supports both asynchronous and synchronous clients and offers configurable options such as message queue processing, allowing customization to fit specific project requirements. Total MQTT supports multi client and multi broker simultaneously , providing versatile connectivity solutions for developers.


Includes a blueprint helper library for serializing/deserializing actors and publishing.


Changelog

v1.2.5

  • Fixed an issue with some dependencies not being loaded correctly in the editor

v1.1.1

  • Added support for Android

v1.1.0

  • Added support for Linux and LinuxArm64

v1.0.6

  • Added encryption option to CreateTLSClientDynamic which will store the certificate encrypted in memory while it's being used.
  • CreateTLSClientDynamic now expects the certificates to be Base64 encoded whether encrypted or not.

v1.0.5

  • Added "Compress Binary" function to BP library to compress data before sending over MQTT.
  • Added "Decompress Binary Dynamic " to decompress and stream data when receiving from MQTT. (Unknown sizes)
  • Added "Decompress Known Binary" to decompress with a given size. (faster if you know the expected size of the data.. ie a vector or float)

v1.0.2

  • Fixed a rare crash in shipping builds when shutting down the application.
  • Added ability to use raw strings as certificates for TLS clients when generating them at runtime from 3rd party services.
  • Added a new component to use as a unique identifier when sending/retrieving actors over mqtt. ( It's recommended to override the Serializer for the actor so you don't get memory reference issues.)

Technical Details

Features: 

  • MQTT Client
  • MQTT Broker
  • MQTT v3.1.1/MQTT v5
  • Mutual TLS/SSL and SNI support
  • TLSv1.2/TLSv1.3
  • Encrypted certificate packaging (CA/Client/Server/Key)
  • Supports dynamic certificate generation
  • Basic authentication (Username/Password)
  • Asynchronous/Synchronous
  • Configurable message queue processing size
  • Multi client support
  • Multi broker support
  • Actor/UObject transmission ( Provided library to convert actors for sending/receiving )
  • Simple string transmission
  • Windows/Linux/LinuxArm64/Android support

Code Modules:

  • UnrealMQTT (Runtime)
  • UnrealMQTTEditor (Editor)


Number of Blueprints: 8

Number of C++ Classes: 20

Network Replicated: No

Supported Development Platforms: Win64

Supported Target Build Platforms: Win64, Linux, LinuxArm64, Android

Documentation: https://warpstudios.com.au/totalmqtt/

Important/Additional Notes: Join the discord for help. https://discord.gg/B8QXRFQtyw