Skip to content

Localized Messages

Unfinished Plugin

Arc Communication is not finished. Some features may be missing or unfinished. Pardon the dust

Localized Messages are Arc Communication's method for sending text and stylized messages to players. All messages, from chat to a killfeed to player join/leave notifications to achievement toasts can be represented as a Localized Message.

Localized Messages are a UObject that is created on the client per-message. When a Client recieves a localized message, the Server sends it a Subclass of the localized message class and a struct of relevant information for that message. The Client then constructs the localized message object and forwards it to UI for rendering.

Localized Messages are intended to be subclassed in BP or C++ for a given message type. Included in the Localized Message class is a UMG Widget subclass for rendering the Message (See User Interface for more information). While Localized Messages can be rendered without a custom widget, creating a widget is what allows for styling and making Localized Messages look different from each other.

Sending Localized Messages

Localized Messages can be sent to clients in many ways, from the client or the server.

The primary method is a player sending a Chat message to a Route, by way of the ArcCommComponent_Player. This can be done with the Chat [Channel] [Message] console command, or called directly in C++ or Blueprint. This will send a string to the server to act as a chat message, and will be sent back as a TextMessage object.

The secondary method, if you wish to broadcast other types of messages, is to call SendLocalizeddMessage directly, with a Message, Route, and the message data. This is a far more powerful method of sending message and crafting them to send, but may require some custom validation on the server. This can be called in BP or C++

From the server, you can broadcast messages from the ArcCommComponent_Gamemode. If you simply wish to send an arbirtrary string, you can use BroadcastTextMessage to send a message from any sender. Giving that function a PlayerState will imply that that player sent that text message.

If you want to send a custom message, you can use BroadcastMessage. This can be called from BP or C++. It requires formatting the message yourself, but gives full power when sending any message to clients, such as a kill feed, a Join/Leave message, or any other messages you wish to send.

Built in Localized Messages

Most messages will need to be defined for your implementation, but Arc Communication provides a few pre-made message types.

UArcCommLocalMessage_TextMessage

Text Message is the main local message for player chat. A valid Text Message subclass must be provided to the Game Mode Component so it can properly send text to clients in a chat context.

UArcCommLocalMessage_JoinLeaveNotification

Not Implemented Yet

The JoinLeave Notification message is sent whenever a player joins or leaves the server. If the server doesn't have a valid JoinLeave notification message, it wont send the notifications to everyone.