> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spatius.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Client State & Events

> The two client state dimensions to observe: Avatar conversation playback and Direct Mode connectivity.

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](/sdk-reference/web-sdk/reference#conversationstate) · [iOS](/sdk-reference/ios-sdk/api-reference#conversationstate) · [Android](/sdk-reference/android-sdk/api-reference#conversationstate) · [Flutter](/sdk-reference/flutter-sdk/api-reference#render-and-control-playback)

## `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](/sdk-reference/web-sdk/reference#connectionstate) · [iOS](/sdk-reference/ios-sdk/api-reference#connectionstate) · [Android](/sdk-reference/android-sdk/api-reference#connectionstate) · [Flutter](/sdk-reference/flutter-sdk/api-reference#render-and-control-playback)

## Errors and recovery

Handle errors according to the lifecycle phase that produced them. See [Client Error Handling](/resources/client-error) for recovery guidance and the platform SDK references for exact error types.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.