---
source_url: https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/chat-entities/message
title: Message object
updated_at: 2026-06-24T11:04:45.994Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Message object

`Message` represents a single message published on a chat channel.

## Properties

The `Message` object has the following properties:

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| Timetoken | FString | Optional |  | Unique identifier for the message, possibly a timestamp or similar value that helps order messages in a conversation. |
| MessageData | FPubnubChatMessageData | Optional |  | Additional data. |
| > Type | FString | Optional |  | The type of the message. `"text"` by default. |
| > Text | FString | Optional |  | Original text content of the message. |
| > ChannelID | FString | Optional |  | Unique identifier for the channel or group in which the message was sent. |
| > UserID | FString | Optional |  | [Unique ID](https://www.pubnub.com/docs/general/setup/users-and-devices) of the user who sent the message. |
| > Meta | FString | Optional |  | Extra information added to the message giving additional context. This object can be of any type and can consist of a list of key-value pairs. For example, `{language: 'English', wordCount: 42}`. |
| > MessageActions | TArray<FPubnubChatMessageAction> | Optional |  | Any actions associated with the message, such as reactions, replies, or other interactive elements. |

##### Message-related types

The message and message reaction types defined for the `Message` object take the following parameters:

* Type The message type is represented as an FString. A single text message has the type "text".
* MessageActions 1// struct FPubnubChatMessageAction2 3UPROPERTY(BlueprintReadWrite, VisibleAnywhere) EPubnubChatMessageActionType Type = EPubnubChatMessageActionType::PCMAT_Reaction;4UPROPERTY(BlueprintReadWrite, VisibleAnywhere) FString Value = "";5UPROPERTY(BlueprintReadWrite, VisibleAnywhere) FString Timetoken = "";6UPROPERTY(BlueprintReadWrite, VisibleAnywhere) FString UserID = "";7 8// enum EPubnubChatMessageActionType9 10enum class EPubnubChatMessageActionType : uint811{12 PCMAT_Reaction UMETA(DisplayName="Reaction"),13 PCMAT_Receipt UMETA(DisplayName="Receipt"),14 PCMAT_Custom UMETA(DisplayName="Custom"),15 PCMAT_Edited UMETA(DisplayName="Edited"),16 PCMAT_Deleted UMETA(DisplayName="Deleted"),17 PCMAT_ThreadRootId UMETA(DisplayName="ThreadRootId")18};

Depending on how a message was manipulated (what action was taken on it), it is assigned a different action type (for adding a message reaction to a message, editing, or deleting a message). For example, `EPubnubChatMessageActionType::PCMAT_Edited`.

## Methods

You can call the following methods on the `Message` object.

Click on each method for more details.

* [CreateThread()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/threads#create-thread)
* [Delete()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/delete)
* [EditText()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/updates#edit-messages)
* [Forward()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/forward)
* [GetCurrentText()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/details#get-message-content)
* [GetMessageTimetoken()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/details#get-message-timetoken)
* [GetReactions()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/reactions#get-reactions-for-one-message)
* [GetThread()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/threads#get-thread)
* [GetType()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/details#get-message-type)
* [HasThread()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/threads#utility-getter-function)
* [HasUserReaction()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/reactions#check)
* [IsDeleted()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/details#check-deletion-status)
* [Pin()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/pinned#pin)
* [RemoveThread()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/threads#remove-thread)
* [Report()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/moderation#flagreport-messages)
* [Restore()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/restore)
* [ToggleReaction()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/reactions#add--delete)
* [Unpin()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/pinned#unpin-from-message)

## Streaming

Call these methods to subscribe to or unsubscribe from real-time updates for this `Message` object.

* [StreamUpdates()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/updates#get-message-updates)
* [StopStreamingUpdates()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/updates#get-message-updates)
* [StreamUpdatesOn()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/updates#get-message-updates)

## Use case

`Message` methods enable:

* [Updating](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/updates) and [deleting](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/delete) messages
* [Forwarding](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/forward) messages to others
* [Pinning](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/pinned) messages to channels
* [Quoting](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/quotes) messages
* [Reacting](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/reactions) to messages
* [Reporting](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/moderation#flagreport-messages) offensive messages