GenericMessagePlugin(GMP): A complete message solution for UE4


unified access to C++ blueprint script, seamlessly use
zero cost abstraction , C++ layer has very little performance loss
communications between C++ and scripts(blueprints) also has minimize performance loss
dynamic type checking
avoid code dependencies and unnecessary time-consuming compilation
you can turn off the dynamic type checking for release versions
blueprint self-explanatory, base on MessageTag
provides custom blueprint nodes to facilitate blueprint message communication
providing type safe dynamic invocation (C++)
Additional highlights
SendWorldMessage / SendObjectMessage, support filtering by World or Object
a variety of Listen support, support for automatic adaptive callback function
watch times preset, and ‘stop listening’ line
debug display when blueprint node is debugged


The Blueprint

Use NotifyMessage /ListenMessage blueprint node directly The message type is then selected by a tree drop-down

Create a message in the blueprint

Display during debugging

show listener on the notify node

shows the listening state, as well as historical callback on the listen node

The Code

Send message

FGMPHelper::SendObjectMessage/ FGMPHelper::NotifyMessage /FGMPHelper::SendWorldMessage Listen for messages


Generic support

Unified generic interface, only MSGKEY is needed to map the message

Supported types

Supports types and containers supported by various blueprints


Because of the uniqueness of the UObject class, secure automatic type conversion is particularly supported

Current usage limit**
In order to be compatible with the blueprint system, the pointer only supports UObject and its derived classes. All other types usereference[/li][li]For compatibility with blueprints, only containers supported by blueprints are supported, using the default allocator[/li][li]In addition to the UObject class using Pointers, arguments that listen to callbacks must use the reference type to reduce unnecessary copying[/li][li]The parameters of the monitor callback use the reference type, so it supports write-back monitor parameters[/li][li]Enumeration is currently underlay_type processing // to be optimized[/li][li]Blueprint Write-back monitoring parameters requires additional operations // to be optimized[/li][/ol]other scripts support

It is easy to add support for other scripts(such as lua), as well as a consistent usage experience RPC Support

Currently only support used in C++, work in progress for Blueprint

Hello, When can we expect a 4.26 update for this?

It’s already updated