> 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/troubleshooting.md).

# Troubleshooting

This section covers problems that occur at the SDK level — before or during the connection to Convai — regardless of which features you are using. Start with the Convai Troubleshooter window: it lists what is stopping a `ConvaiCharacter` from working, with a fix beside each finding, before you read a single Console line. If the SDK connects successfully but a specific feature like Actions, Emotion, or Vision is not working as expected, start with the troubleshooting page inside that feature's section instead. The pages here also address three categories of general issues: package installation and import, API key and connection failures, audio and microphone problems, and the full suite of built-in diagnostic tools.

{% hint style="info" %}
**Not sure where to start?** Open `Convai → Troubleshooter`, select the character, and read what it reports — most setup mistakes surface there with a one-click fix. If the character is not the problem, open the Unity Console and look for the first error or warning tagged with `[Convai]`. If the message contains an error code in dot-notation format — for example `connection.connect_invalid_api_key` or `audio.mic_permission_denied` — go directly to the page that matches its prefix. If you see a plain English message from `Convai Bootstrapper`, start with Installation & Package Issues.
{% endhint %}

### Troubleshooting categories

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Convai Troubleshooter</strong><br>The Editor window that reports what is stopping a character from working, module by module, with a fix beside each finding.</td><td><a href="/pages/kEjsfKZSuI72AoRaFiVM">/pages/kEjsfKZSuI72AoRaFiVM</a></td></tr><tr><td><strong>Installation and package issues</strong><br>Package import failures, missing dependencies, ConvaiSettings not found, and API key warnings at startup.</td><td><a href="/pages/21f9d826ef71da7f70e7312d5dca5de0bcbfa2f2">/pages/21f9d826ef71da7f70e7312d5dca5de0bcbfa2f2</a></td></tr><tr><td><strong>Connection and API issues</strong><br>API key rejections, character not found, timeout, rate limiting, transport errors, retry behavior, and runtime diagnostics.</td><td><a href="/pages/bf2d3c0310bc8496a310e6c0331136dd3cf2399d">/pages/bf2d3c0310bc8496a310e6c0331136dd3cf2399d</a></td></tr><tr><td><strong>Audio and microphone issues</strong><br>Microphone permission failures, unavailable devices, audio publish errors, and platform-specific setup for Android, iOS, and WebGL.</td><td><a href="/pages/607bf5ace60fb89b0eb5ed9df13d6a2718028170">/pages/607bf5ace60fb89b0eb5ed9df13d6a2718028170</a></td></tr><tr><td><strong>Debug tools reference</strong><br>Logging configuration, log categories, per-module editor windows, session diagnostics, latency metrics, and custom log sinks.</td><td><a href="/pages/33d51f5b9dd5b0b2ef292fc1b0dd113786346c3e">/pages/33d51f5b9dd5b0b2ef292fc1b0dd113786346c3e</a></td></tr></tbody></table>

### Feature-specific troubleshooting

Problems that occur after a successful connection — where the SDK is running but a specific feature behaves incorrectly — are documented inside each feature's own section.

| Feature           | Troubleshooting page                                           |
| ----------------- | -------------------------------------------------------------- |
| Actions           | `features/character-actions/debugging-and-troubleshooting.md`  |
| Emotion           | `embodiment/emotion/troubleshooting-and-diagnostics.md`        |
| Long-Term Memory  | `features/long-term-memory/troubleshooting-and-diagnostics.md` |
| Dynamic Context   | `features/dynamic-context/troubleshoot-dynamic-context.md`     |
| Narrative Design  | `features/narrative-design/troubleshooting-and-diagnostics.md` |
| Vision            | `features/vision/troubleshooting-and-diagnostics.md`           |
| Scene Metadata    | `features/scene-metadata/troubleshooting-and-diagnostics.md`   |
| Embodiment        | `embodiment/troubleshooting.md`                                |
| Gaze              | `embodiment/gaze/troubleshooting.md`                           |
| Body Animation    | `embodiment/body-animation/troubleshooting.md`                 |
| Body Language     | `embodiment/body-language/troubleshooting.md`                  |
| Conversation Flow | `embodiment/conversation-flow/troubleshooting.md`              |

### Next steps

When the Troubleshooter does not explain what you are seeing, move to the debug tools. Enabling verbose logging for a specific category and reading the `ConvaiRoomManager` runtime state narrows down most remaining issues.

{% content-ref url="/pages/kEjsfKZSuI72AoRaFiVM" %}
[Convai Troubleshooter](/api-docs/plugins-and-integrations/convai-unity-sdk/troubleshooting/convai-troubleshooter.md)
{% endcontent-ref %}

{% content-ref url="/pages/33d51f5b9dd5b0b2ef292fc1b0dd113786346c3e" %}
[Debug tools reference](/api-docs/plugins-and-integrations/convai-unity-sdk/troubleshooting/debug-tools-reference.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/troubleshooting.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.
