Headless Conversation Controller
Description
The UI-less equivalent of Chat System Service. Drives agent-to-agent conversations using the same data model and node resolution logic but without any panel, camera, or player input. Uses HeadlessAutoAdvanceResponseService to automatically select the first available connection at each branch point.
One controller is created per conversation by the Agent Conversation Orchestrator. You do not normally construct one yourself. See Agent-to-Agent Conversations.
Interface
| Type |
|---|
| IChatFlowController |
| IHeadlessConversationEndHandler |
Inherits
Properties
| Name | Type | Description |
|---|
| IsActive | bool | True while the underlying session is open. |
Public Methods
| Name | Parameters | Return Type | Description |
|---|
| TryStart | IAgentService initiator, IAgentService target, Action onEnded | bool | Opens the session and begins the conversation. onEnded fires when it finishes. |
| ApplyCurrentChat | string id | void | Navigates to a specific node by ID within the conversation. |
| AdvanceBeatOrDisplayOptions | N/A | void | Advances to the next beat group, or resolves the next connection if the group is finished. |
| EndConversation | N/A | void | Ends the conversation, releases agent control, and invokes the onEnded callback. |