Skip to main content

API Reference

UERPChatSubsystem

GameInstance subsystem — central message routing hub.

Configuration

FunctionDescription
SetConfig(UERPChatConfig*)Set active chat configuration
GetConfig()Get current configuration

Message Routing

FunctionDescription
SubmitMessage(FERPChatMessage, APlayerState*)Route message to recipients

Player Registry

FunctionDescription
RegisterPlayer(PlayerId, DisplayName, PlayerState)Register player
UnregisterPlayer(PlayerId)Unregister player
GetOnlinePlayerIds()Get all online player IDs
ResolvePlayerIdByName(Name)Find player ID by display name

Group Management

FunctionReturnsDescription
CreateGroup(Name)FStringCreate group, returns GroupId
DisbandGroup(GroupId)voidRemove group
AddPlayerToGroup(GroupId, PlayerId)voidAdd member
RemovePlayerFromGroup(GroupId, PlayerId)voidRemove member
GetGroupInfo(GroupId)TArray<FString>Get member list

Custom Commands

FunctionDescription
RegisterCommand(FERPChatCommand)Register custom command
UnregisterCommand(CommandName)Remove command
GetRegisteredCommands()Get all commands
RegisterArgumentResolver(ArgType, Callback)Register autocomplete resolver
GetAutoCompleteSuggestions(Input)Get suggestions (max 6)

History

FunctionDescription
GetChannelHistory(ChannelId)Get message history for channel

Delegates

DelegateSignatureDescription
OnMessageRouted(FERPChatMessage, APlayerState*)Fired per recipient
OnCustomCommandExecuted(FString, TArray<FString>, APlayerState*)Custom command fired

UERPChatComponent

Actor component for PlayerController.

FunctionDescription
SendChatInput(RawInput)Parse and submit chat message
SetActiveChannel(ChannelId)Switch active channel
GetAutoCompleteSuggestions(Input)Request suggestions
GetPreviousInput() / GetNextInput()History navigation

Delegates

DelegateDescription
OnMessageReceivedMessage received from server
OnActiveChannelChangedChannel switched

UERPLanguageComponent

Actor component — language proficiency management.

FunctionDescription
LearnLanguage(LanguageId, InitialProficiency)Add language
SetLanguageProficiency(LanguageId, Value)Update proficiency
GetProficiency(LanguageId)Query proficiency (0.0-1.0)
KnowsLanguage(LanguageId)Check if known
SerializeLanguages() / DeserializeLanguages()Save/load

UERPSocialComponent

Actor component — social graph management.

FunctionDescription
AddFriend(PlayerId) / RemoveFriend(PlayerId)Friend management
BlockPlayer(PlayerId) / UnblockPlayer(PlayerId)Block management
JoinGuild(GuildId) / LeaveGuild()Guild membership
JoinGroup(GroupId) / LeaveGroup()Group membership

UERPLanguageFunctionLibrary

Blueprint Function Library — language utilities outside the chat pipeline.

FunctionDescription
CorruptStringForActor(Actor, Text, LanguageId, Config)Corrupt text for actor's proficiency
CorruptStringWithProficiency(Text, Proficiency, LanguageAsset)Corrupt with explicit proficiency
TranslateToLanguage(Text, LanguageAsset)Full translation
GetLanguageProficiency(Actor, LanguageId)Get actor's proficiency
CanPartiallyUnderstand(Actor, LanguageId)Check partial comprehension
IsFluent(Actor, LanguageId)Check fluency

Data Structures

FERPChatMessage

FieldTypeDescription
MessageIdFGuidUnique per message
SenderIdFStringSender identifier
SenderDisplayNameFStringUI display name
ChannelIdFStringTarget channel
LanguageIdFStringLanguage (empty = common)
MessageTypeERPMessageTypeEnumSay / Me / Emote
SegmentsTArray<FERPTextSegment>Message segments
TimestampFDateTimeUTC time
TargetPlayerIdFStringFor DM
GroupIdFStringFor Group channel
SenderLocationFVectorFor proximity

FERPTextSegment

FieldTypeDescription
TextFStringSegment text
SegmentTypeERPMessageTypeEnumSay or Emote