UERPChatSubsystem
GameInstance subsystem — central message routing hub.
Configuration
| Function | Description |
|---|
SetConfig(UERPChatConfig*) | Set active chat configuration |
GetConfig() | Get current configuration |
Message Routing
| Function | Description |
|---|
SubmitMessage(FERPChatMessage, APlayerState*) | Route message to recipients |
Player Registry
| Function | Description |
|---|
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
| Function | Returns | Description |
|---|
CreateGroup(Name) | FString | Create group, returns GroupId |
DisbandGroup(GroupId) | void | Remove group |
AddPlayerToGroup(GroupId, PlayerId) | void | Add member |
RemovePlayerFromGroup(GroupId, PlayerId) | void | Remove member |
GetGroupInfo(GroupId) | TArray<FString> | Get member list |
Custom Commands
| Function | Description |
|---|
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
| Function | Description |
|---|
GetChannelHistory(ChannelId) | Get message history for channel |
Delegates
| Delegate | Signature | Description |
|---|
OnMessageRouted | (FERPChatMessage, APlayerState*) | Fired per recipient |
OnCustomCommandExecuted | (FString, TArray<FString>, APlayerState*) | Custom command fired |
UERPChatComponent
Actor component for PlayerController.
| Function | Description |
|---|
SendChatInput(RawInput) | Parse and submit chat message |
SetActiveChannel(ChannelId) | Switch active channel |
GetAutoCompleteSuggestions(Input) | Request suggestions |
GetPreviousInput() / GetNextInput() | History navigation |
Delegates
| Delegate | Description |
|---|
OnMessageReceived | Message received from server |
OnActiveChannelChanged | Channel switched |
UERPLanguageComponent
Actor component — language proficiency management.
| Function | Description |
|---|
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.
| Function | Description |
|---|
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.
| Function | Description |
|---|
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
| Field | Type | Description |
|---|
| MessageId | FGuid | Unique per message |
| SenderId | FString | Sender identifier |
| SenderDisplayName | FString | UI display name |
| ChannelId | FString | Target channel |
| LanguageId | FString | Language (empty = common) |
| MessageType | ERPMessageTypeEnum | Say / Me / Emote |
| Segments | TArray<FERPTextSegment> | Message segments |
| Timestamp | FDateTime | UTC time |
| TargetPlayerId | FString | For DM |
| GroupId | FString | For Group channel |
| SenderLocation | FVector | For proximity |
FERPTextSegment
| Field | Type | Description |
|---|
| Text | FString | Segment text |
| SegmentType | ERPMessageTypeEnum | Say or Emote |