Documentation Index
Fetch the complete documentation index at: https://dev.docs.inworld.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview > Inworld Conversation Group Component
Class: UInworldConversationGroupComponent | Inherits from: UInworldConversationTargetComponent
Component wrapper for managing multi-character conversation groups. This component provides an actor component interface to UInworldConversationGroup, allowing easy integration of multi-character conversations into actors. It manages participant addition/removal, speaker selection, and conversation state while implementing the conversation target interface.
Key Features:
-
Multi-character conversation management
-
Speaker selection graph integration
-
Rule-based speaker selection for deterministic turn order
-
Participant management (add/remove characters)
-
Event history tracking
-
Blueprint accessible conversation control
Methods
Properties
RuleDirector
Optional director object to manage rule-based, deterministic speaker selection. If assigned, this will be checked before the SpeakerSelectionGraphAsset for determining the next speaker.
Configure this property in the editor’s Details panel to set up predefined speaker sequences for turn-based games or scripted dialogue scenarios.
Reference
AddCharacter
Adds a character to the conversation group.
The character will receive messages sent to the group and can participate
in speaker selection for responses.
Examples
virtual void AddCharacter(UInworldCharacterComponent* CharacterComponent)
Parameters
| Parameter | Type | Description |
|---|
| CharacterComponent | UInworldCharacterComponent* | The character component to add to the conversation |
Returns
Type: virtual void
ClearHistory
Clears the group’s event history data, resetting all stored interactions.
This method ensures that the event history runtime data is wiped clean,
removing all previously recorded conversation or event entries. It logs an
error message if the event history data is null or invalid.
Examples
void ClearHistory(bool IncludeCharacters)
Parameters
| Parameter | Type | Description |
|---|
| IncludeCharacters | bool | (optional) If true (false by default), clear the history of all characters in the conversation. |
GetConversationState
Gets the current state of the conversation.
Examples
FInworldConversationState GetConversationState()
Returns
Type: FInworldConversationState
Description: The conversation state data
GetParticipants
Gets all character participants in the conversation.
Examples
TArray<UInworldCharacterComponent*> GetParticipants()
Returns
Type: TArray<UInworldCharacterComponent*>
Description: Array of character components participating in the conversation
GetPlayerTarget
Gets the current player target for the conversation.
Examples
UInworldBasePlayerComponent* GetPlayerTarget()
Returns
Type: UInworldBasePlayerComponent*
Description: The player component currently interacting with this conversation
InvokeNextResponse
Manually invokes the next character response in the conversation.
Examples
virtual void InvokeNextResponse(const FString& CharacterId)
Parameters
| Parameter | Type | Description |
|---|
| CharacterId | const FString& | Optional specific character ID to respond. If empty, uses speaker selection. |
Returns
Type: virtual void
RemoveCharacter
Removes a character from the conversation group.
Examples
virtual void RemoveCharacter(FString CharacterId)
Parameters
| Parameter | Type | Description |
|---|
| CharacterId | FString | The unique ID of the character to remove |
Returns
Type: virtual void