Tutorial: Using the GameplayMessageSystem
A short tutorial demonstrating how to utilize the GameplayMessageSystem in C++ and Blueprint
Using the GameplayMessageSystem
This tutorial is intended to demonstrate the basics of how to Broadcast and Listen for messages using the GameplayMessageSystem.
Using the GameplayMessageSystem in C++
Include the GameplayMessageSystem
In any class where you Broadcast or Listen for messages, or otherwise interact with the GameplayMessageSystem, you will want to include the following header:
#include "GameFramework/GameplayMessageSubsystem.h"
Get the GameplayMessageSubsystem
UGameplayMessageSubsystem& MessageSubsystem = UGameplayMessageSubsystem::Get(this);
Broadcast a Message
UGameplayMessageSubsystem& MessageSubsystem = UGameplayMessageSubsystem::Get(this);
FGameplayTag ChannelTag; // You will need to assign this value as appropriate for your code
FGameMessage OutgoingMessage; // You will need to define the structure and fill out any members with data as appropriate for your code
MessageSystem.BroadcastMessage(ChannelTag, OutgoingMessage);
Register a Listener
UGameplayMessageSubsystem& MessageSubsystem = UGameplayMessageSubsystem::Get(this);
FGameplayTag ChannelTag; // You will need to assign this value as appropriate for your code
ListenerHandle = MessageSubsystem.RegisterListener(ChannelTag, this, &MyClass::CallbackFunction);
// Your class will also need a Callback Function defined as below
MyClass::CallbackFunction(FGameplayTag InChannel, const FGameMessage& InMessage)
{
// Perform gameplay logic here
}
Using the GameplayMessageSystem in Blueprint
Broadcast a Message
Register a Listener
GameplayMessageSubsystem in Lyra
More to come!