Skip to main content
Treat Avatar playback and network connectivity as two separate dimensions. One can change without the other.

ConversationState

ConversationState answers: What is the Avatar doing now? Use it to drive speaking indicators, pause controls, and idle UI. A conversation typically moves between idle, active playback, and paused behavior, but the exact enum cases and intermediate states vary by platform. Do not infer network health from conversation state. An Avatar can be idle while its data path remains connected. Platform definitions: Web · iOS · Android · Flutter

ConnectionState

ConnectionState answers: Can AvatarKit reach Motion Server? This AvatarKit state applies to Direct Mode, where the client owns that connection. It is useful for connection UI, retry decisions, and distinguishing startup from an established session. LiveKit Agents, Agora Convo AI, and Backend Mode own connectivity outside the core AvatarKit controller. Observe the RTC provider or your application transport for those paths instead. Platform definitions: Web · iOS · Android · Flutter

Errors and recovery

Handle errors according to the lifecycle phase that produced them. See Client Error Handling for recovery guidance and the platform SDK references for exact error types.