> For the complete documentation index, see [llms.txt](https://docs.convai.com/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.convai.com/api-docs/plugins-and-integrations/convai-unity-sdk/overview/feature-map.md).

# Feature map

Find the right Convai Unity SDK feature, module, guide, or reference page for any development goal, indexed by use case.

Use this table when you know the outcome you want but are not sure which SDK feature, module, or guide covers it.

### Getting started

| I want to...                                                 | Feature / Tool         | Documentation                                                                                                                                 |
| ------------------------------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Install the SDK into my project                              | Installation           | [Installation](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/installation.md)                                           |
| Configure my Convai API key                                  | API key setup          | [Configure API key](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/configure-api-key.md)                                 |
| Add my first conversational character to a scene             | Scene setup            | [Build a custom scene](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/build-a-custom-scene.md)                           |
| Run a working example without building from scratch          | Sample scenes          | [Import and run sample scenes](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/import-and-run-sample-scenes.md)           |
| Run a working example with several characters in one session | Multi-Character Sample | [Multi-Character Sample](/api-docs/plugins-and-integrations/convai-unity-sdk/features/multi-character-sessions/multi-character-sample.md)     |
| Understand what each component in the scene does             | Component reference    | [Scene components reference](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/scene-components.md)                         |
| Choose between push-to-talk and hands-free input             | Input mode             | [Configure conversation input mode](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/configure-conversation-input-mode.md) |
| Configure character audio output                             | Audio setup            | [Configure character audio](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/configure-character-audio.md)                 |
| Configure microphone device and platform permissions         | Audio setup            | [Configure microphone](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/configure-microphone.md)                           |
| Add a chat or subtitle transcript display                    | Transcript UI          | [Add chat UI](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/add-chat-ui.md)                                             |
| Add real-time lip sync to my character                       | Lip sync               | [Add lip sync](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/add-lip-sync.md)                                           |
| Verify my scene is set up correctly before shipping          | Scene Validator        | [Validate your setup](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started/validate-your-setup.md)                             |

### Authentication

| I want to...                                            | Feature                | Documentation                                                                                                                   |
| ------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Compare API Key and Auth Token authentication modes     | Authentication         | [Authentication](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication.md)                                         |
| Understand how a `ConvaiManager` resolves credentials   | Authentication concept | [How authentication works](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/how-authentication-works.md)      |
| Switch a project between API Key and Auth Token mode    | Auth mode setup        | [Configure auth token mode](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/configure-auth-token-mode.md)    |
| Connect a room session using a short-lived Auth Token   | Auth Token connect     | [Connect with Auth Token](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/connect-with-auth-token.md)        |
| Supply my own Auth Token minting logic                  | Custom token provider  | [Custom token provider](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/custom-token-provider.md)            |
| Ship a player build without exposing my account API key | Secure build           | [Ship a secure build](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/ship-a-secure-build.md)                |
| Call the authentication API from C#                     | Scripting reference    | [Authentication scripting reference](/api-docs/plugins-and-integrations/convai-unity-sdk/authentication/scripting-reference.md) |

### Features

| I want to...                                                                              | Feature                   | Documentation                                                                                                          |
| ----------------------------------------------------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Let my character execute in-scene commands (trigger animations, open doors, move objects) | Actions                   | [Actions](/api-docs/plugins-and-integrations/convai-unity-sdk/features/character-actions.md)                           |
| Inject runtime state or events into the character's knowledge                             | Dynamic Context           | [Dynamic Context](/api-docs/plugins-and-integrations/convai-unity-sdk/features/dynamic-context.md)                     |
| Let the character automatically read information about scene objects                      | Scene Metadata            | [Scene Metadata](/api-docs/plugins-and-integrations/convai-unity-sdk/features/scene-metadata.md)                       |
| Show facial emotion on my character driven by the AI response                             | Emotion                   | [Emotion](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/emotion.md)                                   |
| Make the character remember players between sessions                                      | Long-Term Memory          | [Long-Term Memory](/api-docs/plugins-and-integrations/convai-unity-sdk/features/long-term-memory.md)                   |
| Build branching story sections triggered by conversation                                  | Narrative Design          | [Narrative Design](/api-docs/plugins-and-integrations/convai-unity-sdk/features/narrative-design.md)                   |
| Give my character vision through a camera or webcam                                       | Vision                    | [Vision](/api-docs/plugins-and-integrations/convai-unity-sdk/features/vision.md)                                       |
| Decide which character the player is talking to                                           | Conversation Targeting    | [Conversation Targeting](/api-docs/plugins-and-integrations/convai-unity-sdk/features/conversation-targeting.md)       |
| Know whether the player can talk right now, and gate my UI on it                          | Conversation Availability | [Conversation Availability](/api-docs/plugins-and-integrations/convai-unity-sdk/features/conversation-availability.md) |

### Embodiment

| I want to...                                                                 | Module             | Documentation                                                                                              |
| ---------------------------------------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------- |
| Make my character look at the player, at objects, or around the scene        | Gaze               | [Gaze](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/gaze.md)                             |
| Time a character's behavior to the phase of the conversation                 | Conversation Flow  | [Conversation flow](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/conversation-flow.md)   |
| Share one set of behavior settings across several characters                 | Presets            | [Embodiment presets](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/embodiment-presets.md) |
| Decide how much of the face emotion and lip sync each control while speaking | Facial composition | [Facial composition](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/facial-composition.md) |
| Drive idle, talk, locomotion, and gesture animation from code                | Body Animation     | [Body Animation](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/body-animation.md)         |
| Direct conversational nonverbal behavior — posture, breathing, listening     | Body Language      | [Body Language](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/body-language.md)           |

### UI and presentation

| I want to...                                                         | Component           | Documentation                                                                                                                                             |
| -------------------------------------------------------------------- | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Display a live conversation transcript in my UI                      | Transcript UI       | [Transcript UI](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/transcript-ui.md)                                                 |
| Switch between chat and subtitle display modes                       | Presentation modes  | [Chat and subtitle modes](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/transcript-ui/chat-and-subtitle-modes.md)               |
| Query transcript history or react to transcript changes from code    | Transcript history  | [Transcript history and queries](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/transcript-ui/transcript-history-and-queries.md) |
| Show in-world notification popups                                    | Notification system | [Notification system](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/notification-system.md)                                     |
| Add a runtime settings panel (mic, transcript, notifications, input) | Settings panel      | [Settings panel](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/settings-panel.md)                                               |
| Read or apply runtime settings from code                             | Runtime settings    | [Runtime settings API](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/settings-panel/runtime-settings-api.md)                    |
| Customize the look and layout of UI components                       | UI customization    | [Customizing UI components](/api-docs/plugins-and-integrations/convai-unity-sdk/ui-and-presentation/customizing-ui-components.md)                         |

### Core concepts

| I want to...                                             | Concept           | Documentation                                                                                                                  |
| -------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Understand the system architecture end-to-end            | Architecture      | [Convai Unity SDK architecture](/api-docs/plugins-and-integrations/convai-unity-sdk/overview/convai-unity-sdk-architecture.md) |
| Understand session states, reconnection, and persistence | Session lifecycle | [Session lifecycle](/api-docs/plugins-and-integrations/convai-unity-sdk/core-concepts/session-lifecycle.md)                    |
| Compare hands-free, push-to-talk turn-taking             | Turn-taking modes | [Turn-taking modes](/api-docs/plugins-and-integrations/convai-unity-sdk/core-concepts/turn-taking-modes.md)                    |
| Subscribe to conversation events from C# or Inspector    | Event system      | [Event System](/api-docs/plugins-and-integrations/convai-unity-sdk/core-concepts/event-system.md)                              |

### Scripting reference

| I want to...                                                 | API                        | Documentation                                                                                                                     |
| ------------------------------------------------------------ | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Subscribe to session connected / disconnected / error events | Session events             | [Session Events](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/session-events.md)                       |
| Subscribe to transcript, emotion, and turn events            | Character events           | [Character Events](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/character-events.md)                   |
| Read and clear transcript history at runtime                 | Transcript API             | [Transcript API](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/transcript-api.md)                       |
| Use the `ConvaiSDK` and `ConvaiAudio` static facades         | Conversation facades       | [ConvaiManager API](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/convaimanager-api.md)                 |
| Understand `IConvaiOperation<T>` and async patterns          | Async patterns             | [Async Patterns](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/async-patterns.md)                       |
| Use the `ConvaiCharacter` and `ConvaiPlayer` API surface     | Character and player API   | [Character and Player API](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/character-and-player-api.md)   |
| Understand `IConvaiOperation<T>` and stream result types     | Operation and stream types | [Operation & Stream Types](/api-docs/plugins-and-integrations/convai-unity-sdk/scripting-reference/operation-and-stream-types.md) |

### Compatibility and requirements

| I want to...                                                       | Requirement                       | Documentation                                                                                                                                                    |
| ------------------------------------------------------------------ | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Check the Unity version, render pipeline, and package requirements | Compatibility overview            | [Compatibility and requirements](/api-docs/plugins-and-integrations/convai-unity-sdk/compatibility-and-requirements.md)                                          |
| Confirm which Unity versions and render pipelines are supported    | Unity and render pipeline support | [Unity versions and render pipelines](/api-docs/plugins-and-integrations/convai-unity-sdk/compatibility-and-requirements/unity-versions-and-render-pipelines.md) |
| Confirm domains, ports, and firewall rules the SDK needs           | Network requirements              | [Network and API requirements](/api-docs/plugins-and-integrations/convai-unity-sdk/compatibility-and-requirements/network-and-api-requirements.md)               |

### Troubleshooting

| I want to...                                                        | Tool                  | Documentation                                                                             |
| ------------------------------------------------------------------- | --------------------- | ----------------------------------------------------------------------------------------- |
| Find why a character is not working, with a fix beside each finding | Convai Troubleshooter | [Troubleshooting](/api-docs/plugins-and-integrations/convai-unity-sdk/troubleshooting.md) |

### Platform guides

| I want to...                                            | Platform        | Documentation                                                                                                               |
| ------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Ship to a browser with WebGL                            | WebGL           | [WebGL](/api-docs/plugins-and-integrations/convai-unity-sdk/platform-guides/webgl.md)                                       |
| Ship to Android or iOS                                  | Mobile          | [Mobile — iOS and Android](/api-docs/plugins-and-integrations/convai-unity-sdk/platform-guides/ios-and-android.md)          |
| Ship to Windows, macOS, or Linux                        | Desktop         | [Windows, macOS, and Linux](/api-docs/plugins-and-integrations/convai-unity-sdk/platform-guides/windows-macos-and-linux.md) |
| Ship to Meta Quest with passthrough vision              | Meta Quest / XR | [Meta Quest and XR](/api-docs/plugins-and-integrations/convai-unity-sdk/platform-guides/xr-headsets.md)                     |
| Stream the Meta Quest passthrough camera to a character | Meta Quest / XR | [Meta Quest Vision setup](/api-docs/plugins-and-integrations/convai-unity-sdk/platform-guides/meta-quest-vision.md)         |

### Advanced topics

| I want to...                                                     | Topic            | Documentation                                                                                                                                      |
| ---------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Replace the API credential provider                              | Custom providers | [Custom Credential Provider](/api-docs/plugins-and-integrations/convai-unity-sdk/advanced-topics/custom-providers/custom-credential-provider.md)   |
| Replace the end-user identity provider                           | Custom providers | [Custom Identity Provider](/api-docs/plugins-and-integrations/convai-unity-sdk/advanced-topics/custom-providers/custom-identity-provider.md)       |
| Replace the session persistence provider                         | Custom providers | [Custom Persistence Provider](/api-docs/plugins-and-integrations/convai-unity-sdk/advanced-topics/custom-providers/custom-persistence-provider.md) |
| Measure latency and interpret session metrics                    | Performance      | [Performance and Optimization](/api-docs/plugins-and-integrations/convai-unity-sdk/advanced-topics/performance-and-optimization.md)                |
| Extend the SDK with a custom module or replace internal services | Extension points | [Extending the SDK](/api-docs/plugins-and-integrations/convai-unity-sdk/advanced-topics/extending-the-sdk.md)                                      |

### Next steps

Start with installation if you have not set up the SDK yet.

{% content-ref url="/pages/1d9fa274483952ca377014dd2a4fb49c2f3e80a1" %}
[Getting started](/api-docs/plugins-and-integrations/convai-unity-sdk/getting-started.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.convai.com/api-docs/plugins-and-integrations/convai-unity-sdk/overview/feature-map.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
