Documentation Index
Fetch the complete documentation index at: https://cometchat-22654f5b-release-unreal-docs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
This page is a single-stop reference for every public API surface in the CometChat Unreal SDK plugin.
Subsystem Methods
These are called directly on UCometChatSubsystem.
| Method | Category | Parameters | Returns | Description |
|---|
Configure | Config | AppId: FString, Region: FString | void | Initialize the SDK with your CometChat credentials. Must be called before Login. |
ConfigureWithSettings | Config | AppId: FString, Settings: FCometChatAppSettings | void | Initialize with advanced settings (custom hosts, subscription type, manual connection). |
IsLoggedIn | Auth | — | bool | Returns true if a user is currently authenticated. |
GetLoggedInUser | Auth | — | FCometChatUser | Returns the currently logged-in user’s profile. |
GetConnectionStatus | Connection | — | ECometChatConnectionState | Returns the current WebSocket connection state. |
StartTyping | Typing | Indicator: FCometChatTypingIndicator | void | Notify that the local user started typing. |
EndTyping | Typing | Indicator: FCometChatTypingIndicator | void | Notify that the local user stopped typing. |
SendTransientMessage | Messaging | Message: FCometChatTransientMessage | void | Send an ephemeral message that is not persisted. |
Shutdown | Lifecycle | — | void | Tear down the SDK and release all resources. |
Async Action Nodes
Each node is a latent Blueprint action with On Success and On Failure output pins. In C++, create via the static factory method, bind delegates, and call Activate().
Authentication
| Node | Parameters | Success Output | Description |
|---|
| Login Async | Uid: FString, AuthKey: FString | — | Authenticate a user with Auth Key. |
| Login With Auth Token Async | AuthToken: FString | — | Authenticate a user with a pre-generated Auth Token. |
| Logout Async | — | — | Log out the current user and disconnect. |
Messaging
| Node | Parameters | Success Output | Description |
|---|
| Send Message Async | ReceiverUid: FString, Text: FString | FCometChatMessage | Send a 1:1 text message. |
| Send Group Message Async | Guid: FString, Text: FString | FCometChatMessage | Send a text message to a group. |
| Get Messages Async | Uid: FString, Limit: int32 | TArray<FCometChatMessage> | Fetch message history for a 1:1 conversation. |
| Get Group Messages Async | Guid: FString, Limit: int32, BeforeMessageId: int32 | TArray<FCometChatMessage>, FCometChatPagination | Fetch paginated message history for a group. |
| Fetch Messages Async | Request: FCometChatMessagesRequest | TArray<FCometChatMessage> | Fetch messages with full filter/pagination control. |
Users
| Node | Parameters | Success Output | Description |
|---|
| Get User Async | Uid: FString | FCometChatUser | Fetch a user’s profile. |
| Fetch Users Async | Request: FCometChatUsersRequest | TArray<FCometChatUser> | Fetch users with search, filters, and pagination. |
Groups
| Node | Parameters | Success Output | Description |
|---|
| Create Group Async | Name: FString, MemberIds: TArray<FString> | FCometChatGroup | Create a new group with initial members. |
| Join Group Async | Guid: FString | — | Join an existing group. |
| Leave Group Async | Guid: FString | — | Leave a group. |
| Fetch Groups Async | Request: FCometChatGroupsRequest | TArray<FCometChatGroup> | Fetch groups with search, filters, and pagination. |
Conversations
| Node | Parameters | Success Output | Description |
|---|
| Fetch Conversations Async | Request: FCometChatConversationsRequest | TArray<FCometChatConversation> | Fetch conversations with filters and pagination. |
Connection
| Node | Parameters | Success Output | Description |
|---|
| Connect Async | — | — | Manually establish the WebSocket connection. |
| Disconnect Async | — | — | Manually close the WebSocket connection. |
| Ping Async | — | — | Ping the server to verify connectivity. |
Moderation
| Node | Parameters | Success Output | Description |
|---|
| Flag Message Async | MessageId: FString, FlagDetail: FCometChatFlagDetail | — | Flag a message for moderation. |
| Get Flag Reasons Async | — | TArray<FCometChatFlagReason> | Fetch available flag/report reasons. |
Real-Time Delegates
All delegates are UPROPERTY(BlueprintAssignable) on UCometChatSubsystem. They fire on the Game Thread.
MessageListener
| Delegate | Payload Type | Fires When |
|---|
OnTextMessageReceived | FCometChatMessage | Text message arrives |
OnMediaMessageReceived | FCometChatMessage | Media message arrives |
OnCustomMessageReceived | FCometChatMessage | Custom message arrives |
OnInteractiveMessageReceived | FCometChatMessage | Interactive message arrives |
OnInteractionGoalCompleted | FCometChatInteractionReceipt | Interaction goal completed |
OnTypingStarted | FCometChatTypingIndicator | User starts typing |
OnTypingEnded | FCometChatTypingIndicator | User stops typing |
OnMessagesDelivered | FCometChatMessageReceipt | Messages delivered |
OnMessagesRead | FCometChatMessageReceipt | Messages read |
OnMessagesDeliveredToAll | FCometChatMessageReceipt | Messages delivered to all |
OnMessagesReadByAll | FCometChatMessageReceipt | Messages read by all |
OnMessageEdited | FCometChatMessage | Message edited |
OnMessageDeleted | FCometChatMessage | Message deleted |
OnTransientMessageReceived | FCometChatTransientMessage | Transient message arrives |
OnMessageReactionAdded | FCometChatReactionEvent | Reaction added |
OnMessageReactionRemoved | FCometChatReactionEvent | Reaction removed |
OnMessageModerated | FCometChatMessage | Message moderation status changes |
OnAIAssistantMessageReceived | FCometChatMessage | AI assistant message |
OnAIToolResultReceived | FCometChatMessage | AI tool result |
OnAIToolArgumentsReceived | FCometChatMessage | AI tool arguments |
UserListener
| Delegate | Payload Type | Fires When |
|---|
OnUserOnline | FCometChatUser | User comes online |
OnUserOffline | FCometChatUser | User goes offline |
GroupListener
| Delegate | Payload Type | Fires When |
|---|
OnGroupMemberJoined | FCometChatAction, FCometChatUser, FCometChatGroup | Member joins |
OnGroupMemberLeft | FCometChatAction, FCometChatUser, FCometChatGroup | Member leaves |
OnGroupMemberKicked | FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup | Member kicked |
OnGroupMemberBanned | FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup | Member banned |
OnGroupMemberUnbanned | FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup | Member unbanned |
OnGroupMemberScopeChanged | FCometChatScopeChangeEvent | Member scope changed |
OnMemberAddedToGroup | FCometChatAction, FCometChatUser, FCometChatUser, FCometChatGroup | Member added |
ConnectionListener
| Delegate | Payload Type | Fires When |
|---|
OnConnected | — | WebSocket connected |
OnConnecting | — | Attempting to connect |
OnDisconnected | — | WebSocket disconnected |
OnFeatureThrottled | — | Feature rate-limited |
OnConnectionError | FCometChatError | Connection error |
LoginListener
| Delegate | Payload Type | Fires When |
|---|
OnLoginSuccess | FCometChatUser | Login succeeds |
OnLoginFailure | FCometChatError | Login fails |
OnLogoutSuccess | — | Logout succeeds |
OnLogoutFailure | FCometChatError | Logout fails |
AIAssistantListener
| Delegate | Payload Type | Fires When |
|---|
OnAIAssistantEvent | FCometChatAIAssistantEvent | AI assistant event |
Structs
FCometChatUser
| Property | Type | Description |
|---|
Uid | FString | Unique user identifier |
Name | FString | Display name |
AvatarUrl | FString | URL to avatar image |
Status | FString | Current status text |
Role | FString | User role |
Metadata | FString | Custom metadata JSON |
Link | FString | Profile link |
StatusMessage | FString | Status message |
LastActiveAt | int64 | Unix timestamp of last activity |
bHasBlockedMe | bool | Whether this user has blocked the logged-in user |
bBlockedByMe | bool | Whether the logged-in user has blocked this user |
Tags | TArray<FString> | User tags |
DeactivatedAt | int64 | Unix timestamp of deactivation (0 if active) |
FCometChatMessage
| Property | Type | Description |
|---|
Id | FString | Unique message identifier |
Muid | FString | Client-generated unique ID |
SenderUid | FString | UID of the sender |
ReceiverUid | FString | UID of the receiver (user or group) |
Text | FString | Message body |
SentAt | int64 | Unix timestamp when sent |
Type | FString | text, image, video, audio, file, custom |
Category | FString | message, action, call, custom |
ReceiverType | FString | user or group |
ConversationId | FString | Conversation identifier |
SenderName | FString | Sender’s display name |
SenderAvatar | FString | Sender’s avatar URL |
UpdatedAt | int64 | Unix timestamp of last update |
Metadata | FString | Custom metadata JSON |
DeliveredAt | int64 | Delivery timestamp |
ReadAt | int64 | Read timestamp |
DeletedAt | int64 | Deletion timestamp |
EditedAt | int64 | Edit timestamp |
DeletedBy | FString | UID of user who deleted |
EditedBy | FString | UID of user who edited |
ParentMessageId | int64 | Parent message ID (for threads) |
ReplyCount | int32 | Number of replies |
UnreadRepliesCount | int32 | Number of unread replies |
MentionedUsers | TArray<FCometChatUser> | Users mentioned in this message |
bHasMentionedMe | bool | Whether the logged-in user is mentioned |
Reactions | TArray<FCometChatReactionCount> | Reaction counts |
Attachment | FCometChatAttachment | File attachment (if media message) |
Caption | FString | Media caption |
CustomData | FString | Custom data JSON |
SubType | FString | Message sub-type |
Tags | TArray<FString> | Message tags |
ModerationStatus | ECometChatModerationStatus | Moderation status |
FCometChatGroup
| Property | Type | Description |
|---|
Guid | FString | Unique group identifier |
Name | FString | Group display name |
Description | FString | Group description |
Type | FString | public, private, or password |
Icon | FString | Group icon URL |
Owner | FString | UID of the group owner |
Metadata | FString | Custom metadata JSON |
CreatedAt | int64 | Creation timestamp |
UpdatedAt | int64 | Last update timestamp |
bHasJoined | bool | Whether the logged-in user has joined |
JoinedAt | int64 | When the logged-in user joined |
Scope | FString | Logged-in user’s scope (admin, moderator, participant) |
MembersCount | int32 | Number of members |
Tags | TArray<FString> | Group tags |
bIsBannedFromGroup | bool | Whether the logged-in user is banned |
FCometChatConversation
| Property | Type | Description |
|---|
ConversationId | FString | Unique conversation identifier |
ConversationType | FString | user or group |
LastMessage | FCometChatMessage | Most recent message |
ConversationWithUser | FCometChatUser | The other user (if 1:1) |
ConversationWithGroup | FCometChatGroup | The group (if group conversation) |
UnreadMessageCount | int32 | Number of unread messages |
UpdatedAt | int64 | Last update timestamp |
Tags | TArray<FString> | Conversation tags |
UnreadMentionsCount | int32 | Number of unread mentions |
LastReadMessageId | int64 | ID of last read message |
LatestMessageId | int64 | ID of latest message |
FCometChatTransientMessage
| Property | Type | Description |
|---|
ReceiverId | FString | Receiver UID or GUID |
ReceiverType | FString | user or group |
Data | FString | Custom data payload (JSON) |
Sender | FCometChatUser | The sender |
FCometChatMessageReceipt
| Property | Type | Description |
|---|
MessageId | FString | The message this receipt is for |
Sender | FCometChatUser | User who triggered the receipt |
ReceiverType | FString | user or group |
ReceiverId | FString | Receiver UID or GUID |
Timestamp | int64 | Receipt timestamp |
ReceiptType | FString | delivered or read |
DeliveredAt | int64 | Delivery timestamp |
ReadAt | int64 | Read timestamp |
FCometChatTypingIndicator
| Property | Type | Description |
|---|
ReceiverId | FString | Receiver UID or GUID |
ReceiverType | FString | user or group |
Metadata | FString | Optional metadata JSON |
Sender | FCometChatUser | The user who is typing |
FCometChatReactionEvent
| Property | Type | Description |
|---|
Reaction | FString | The reaction emoji/string |
ReceiverId | FString | Receiver UID or GUID |
ReceiverType | FString | user or group |
ConversationId | FString | Conversation identifier |
ParentMessageId | int64 | Parent message ID |
Message | FCometChatMessage | The message that was reacted to |
FCometChatReactionCount
| Property | Type | Description |
|---|
Reaction | FString | The reaction emoji/string |
Count | int32 | Number of times this reaction was used |
bReactedByMe | bool | Whether the logged-in user reacted |
FCometChatAttachment
| Property | Type | Description |
|---|
Extension | FString | File extension |
MimeType | FString | MIME type |
Name | FString | File name |
Size | int64 | File size in bytes |
Url | FString | Download URL |
FCometChatAction
| Property | Type | Description |
|---|
BaseMessage | FCometChatMessage | Underlying message |
Action | FString | Action type |
ActionBy | FCometChatUser | User who performed the action |
ActionOn | FCometChatUser | User the action was performed on |
ActionFor | FString | Target identifier |
OldScope | FString | Previous scope (for scope changes) |
NewScope | FString | New scope (for scope changes) |
FCometChatGroupMember
| Property | Type | Description |
|---|
User | FCometChatUser | The member’s user profile |
Scope | FString | Member scope (admin, moderator, participant) |
JoinedAt | int64 | When the member joined |
FCometChatScopeChangeEvent
| Property | Type | Description |
|---|
Action | FCometChatAction | The action details |
UpdatedBy | FCometChatUser | User who changed the scope |
UpdatedUser | FCometChatUser | User whose scope was changed |
ScopeChangedTo | FString | New scope value |
ScopeChangedFrom | FString | Previous scope value |
Group | FCometChatGroup | The group where scope changed |
FCometChatInteractionReceipt
| Property | Type | Description |
|---|
MessageId | FString | Message ID |
Sender | FCometChatUser | User who interacted |
ReceiverType | FString | user or group |
ReceiverId | FString | Receiver UID or GUID |
ElementId | FString | Interactive element ID |
InteractedAt | int64 | Interaction timestamp |
FCometChatFlagDetail
| Property | Type | Description |
|---|
ReasonId | FString | ID of the flag reason |
Remark | FString | Optional remark from the reporter |
FCometChatFlagReason
| Property | Type | Description |
|---|
Id | FString | Unique reason identifier |
Name | FString | Display name |
Description | FString | Detailed description |
CreatedAt | int64 | Creation timestamp |
UpdatedAt | int64 | Last update timestamp |
FCometChatAIAssistantEvent
| Property | Type | Description |
|---|
EventType | FString | Type of AI event |
Data | FString | Event data payload |
ConversationId | FString | Conversation identifier |
SenderUid | FString | Sender UID |
FCometChatError
| Property | Type | Description |
|---|
Code | FString | Error code |
Message | FString | Human-readable error message |
Details | FString | Additional error details |
FCometChatAppSettings
| Property | Type | Description |
|---|
Region | FString | App region (us or eu) |
SubscriptionType | FString | Subscription type for presence |
Roles | TArray<FString> | Roles for presence subscription |
AdminHost | FString | Custom admin host URL |
ClientHost | FString | Custom client host URL |
bAutoEstablishSocketConnection | bool | Auto-connect WebSocket on login (default: true) |
| Property | Type | Description |
|---|
Total | int32 | Total items available |
Count | int32 | Items returned in this page |
PerPage | int32 | Page size requested |
CurrentPage | int32 | Current page number |
TotalPages | int32 | Total pages available |
HasMore | bool | Whether more pages exist |
NextCursor | int32 | Cursor for next page |
Request Builder Structs
FCometChatUsersRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 30 | Max results per page |
SearchKeyword | FString | — | Search by name/UID |
SearchIn | TArray<FString> | — | Fields to search in |
UserStatus | FString | — | Filter by status (online, offline) |
bHideBlockedUsers | bool | false | Exclude blocked users |
bFriendsOnly | bool | false | Only show friends |
Roles | TArray<FString> | — | Filter by roles |
Tags | TArray<FString> | — | Filter by tags |
bWithTags | bool | false | Include tags in response |
UIDs | TArray<FString> | — | Fetch specific UIDs |
SortBy | FString | — | Sort field |
SortOrder | FString | — | asc or desc |
Page | int32 | 0 | Page number |
FCometChatGroupsRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 30 | Max results per page |
SearchKeyword | FString | — | Search by group name |
bJoinedOnly | bool | false | Only groups the user has joined |
Tags | TArray<FString> | — | Filter by tags |
bWithTags | bool | false | Include tags in response |
Page | int32 | 0 | Page number |
FCometChatMessagesRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 30 | Max results per page |
UID | FString | — | Fetch messages for this user (1:1) |
GUID | FString | — | Fetch messages for this group |
MessageId | int64 | -1 | Fetch messages before this ID |
Timestamp | int64 | -1 | Fetch messages before this timestamp |
bUnread | bool | false | Only unread messages |
bHideMessagesFromBlockedUsers | bool | false | Hide blocked user messages |
SearchKeyword | FString | — | Search message text |
Categories | TArray<FString> | — | Filter by categories |
Types | TArray<FString> | — | Filter by types |
ParentMessageId | int64 | -1 | Fetch thread replies |
bHideReplies | bool | false | Hide thread replies |
bHideDeleted | bool | false | Hide deleted messages |
Tags | TArray<FString> | — | Filter by tags |
bWithTags | bool | false | Include tags in response |
FCometChatConversationsRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 30 | Max results per page |
ConversationType | FString | — | user or group |
bWithUserAndGroupTags | bool | false | Include user/group tags |
Tags | TArray<FString> | — | Filter by conversation tags |
bWithTags | bool | false | Include tags in response |
UserTags | TArray<FString> | — | Filter by user tags |
GroupTags | TArray<FString> | — | Filter by group tags |
bIncludeBlockedUsers | bool | false | Include blocked users |
SearchKeyword | FString | — | Search conversations |
bUnread | bool | false | Only unread conversations |
Page | int32 | 0 | Page number |
FCometChatGroupMembersRequest
| Property | Type | Default | Description |
|---|
GUID | FString | — | Group to fetch members for |
Limit | int32 | 30 | Max results per page |
SearchKeyword | FString | — | Search by member name |
Scopes | TArray<FString> | — | Filter by scope |
Status | FString | — | Filter by status |
Page | int32 | 0 | Page number |
FCometChatBannedMembersRequest
| Property | Type | Default | Description |
|---|
GUID | FString | — | Group to fetch banned members for |
Limit | int32 | 30 | Max results per page |
SearchKeyword | FString | — | Search by name |
Scopes | TArray<FString> | — | Filter by scope |
Page | int32 | 0 | Page number |
FCometChatBlockedUsersRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 30 | Max results per page |
SearchKeyword | FString | — | Search by name |
Direction | FString | — | blockedByMe or hasBlockedMe |
Page | int32 | 0 | Page number |
FCometChatReactionsRequest
| Property | Type | Default | Description |
|---|
Limit | int32 | 10 | Max results per page |
MessageId | int64 | -1 | Message to fetch reactions for |
Reaction | FString | — | Filter by specific reaction |
Enums
ECometChatConnectionState
| Value | Description |
|---|
Connected | WebSocket is active |
Connecting | SDK is attempting to connect |
Disconnected | WebSocket is closed |
FeatureThrottled | A feature is being rate-limited |
ECometChatPresenceStatus
| Value | Description |
|---|
Online | User is currently active |
Offline | User is not connected |
Away | User is connected but idle |
ECometChatModerationStatus
| Value | Description |
|---|
Unmoderated | Message has not been moderated |
Pending | Message is pending moderation review |
Approved | Message has been approved |
Disapproved | Message has been rejected |
When working in C++, here are the headers you’ll need:
// Subsystem (always needed — includes all struct/enum definitions)
#include "CometChatSubsystem.h"
// Async action nodes (include as needed)
#include "AsyncActions/CometChatLoginAction.h"
#include "AsyncActions/CometChatLoginWithAuthTokenAction.h"
#include "AsyncActions/CometChatLogoutAction.h"
#include "AsyncActions/CometChatSendMessageAction.h"
#include "AsyncActions/CometChatSendGroupMessageAction.h"
#include "AsyncActions/CometChatGetMessagesAction.h"
#include "AsyncActions/CometChatGetGroupMessagesAction.h"
#include "AsyncActions/CometChatGetUserAction.h"
#include "AsyncActions/CometChatCreateGroupAction.h"
#include "AsyncActions/CometChatJoinGroupAction.h"
#include "AsyncActions/CometChatLeaveGroupAction.h"
#include "AsyncActions/CometChatFetchUsersAction.h"
#include "AsyncActions/CometChatFetchGroupsAction.h"
#include "AsyncActions/CometChatFetchConversationsAction.h"
#include "AsyncActions/CometChatFetchMessagesAction.h"
#include "AsyncActions/CometChatConnectAction.h"
#include "AsyncActions/CometChatDisconnectAction.h"
#include "AsyncActions/CometChatPingAction.h"
#include "AsyncActions/CometChatFlagMessageAction.h"
#include "AsyncActions/CometChatGetFlagReasonsAction.h"
All types (FCometChatUser, FCometChatMessage, FCometChatGroup, etc.) are defined in CometChatSubsystem.h.