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

# Embodiment

A Convai character that only talks can feel static: its eyes stay fixed on nothing, its posture never shifts, and its face does not react to what it is saying. Embodiment is Convai's name for the group of components that give a character that missing behavior — where it looks, how it moves, how it holds itself, and what its face shows while it speaks. Each module is optional and works on its own, so add the ones your project needs and leave the rest out.

***

### The five embodiment modules

| Module            | Component                          | What it does for the character                                                                                                                |
| ----------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Conversation Flow | `ConvaiConversationFlowController` | Tracks whether the character is idle, listening, thinking, or speaking. The other four modules read this state instead of tracking their own. |
| Gaze              | `ConvaiGazeController`             | Decides where the character looks — eye contact with the player, glances, and attention shifts.                                               |
| Body Animation    | `ConvaiBodyAnimationController`    | Plays idles, talk motion, walking, and gestures from an animation set.                                                                        |
| Body Language     | `ConvaiBodyLanguageController`     | Adds ambient posture, breathing, and small reactive movements that keep the body alive between deliberate actions.                            |
| Emotion           | `ConvaiEmotionController`          | Drives facial expression and mood, partly from signals that arrive with Convai's response.                                                    |

All five derive from the same base module and register with one shared object per character, so they cooperate instead of overriding each other. See [Character embodiment](/api-docs/plugins-and-integrations/convai-unity-sdk/core-concepts/character-embodiment.md) for that shared model, and [Dialogue state](/api-docs/plugins-and-integrations/convai-unity-sdk/core-concepts/dialogue-state.md) for the state Conversation Flow tracks.

***

### Where to start

Add **Gaze** first. It is a single component, needs no animation set or profile to author, and its effect — the character making eye contact with the player — is the easiest embodiment behavior to recognize in Play mode. Conversation Flow is foundational, but you rarely add it yourself: Convai adds it automatically the first time another module needs a dialogue state to read.

{% content-ref url="/pages/KesLouR7HKrCC8jrNmQQ" %}
[Embodiment quick start](/api-docs/plugins-and-integrations/convai-unity-sdk/embodiment/quick-start.md)
{% endcontent-ref %}

***

### The modules

<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>Gaze</strong><br>Eye contact, glances at objects and other characters, and body turns toward what the character is attending to.</td><td><a href="/pages/zPz616qziedsKJNIq0Yl">/pages/zPz616qziedsKJNIq0Yl</a></td></tr><tr><td><strong>Body animation</strong><br>Idles, talk motion, walking, gestures, and pointing, played from an animation set with no Animator Controller to author.</td><td><a href="/pages/XvueBQ9uW4pr3jUaNBed">/pages/XvueBQ9uW4pr3jUaNBed</a></td></tr><tr><td><strong>Body language</strong><br>Continuous ambient motion — posture, breathing, weight shifts, fidget, and reaction beats.</td><td><a href="/pages/TG29EqsasLlpZeaTYwjk">/pages/TG29EqsasLlpZeaTYwjk</a></td></tr><tr><td><strong>Conversation flow</strong><br>The dialogue-state clock the other modules read to time themselves.</td><td><a href="/pages/8JDFZt8KJ6rwnIUtT66t">/pages/8JDFZt8KJ6rwnIUtT66t</a></td></tr><tr><td><strong>Emotion</strong><br>Facial expression and longer-lived mood, driven by signals that arrive with Convai's response or set from your own code.</td><td><a href="/pages/pzyAnwgRmeSToQBXFJYu">/pages/pzyAnwgRmeSToQBXFJYu</a></td></tr></tbody></table>

***

### Explore embodiment

<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>How embodiment works</strong><br>The runtime picture: what Convai provisions per character and the order modules run in.</td><td><a href="/pages/EpVlILP94SrOHCZlXqvF">/pages/EpVlILP94SrOHCZlXqvF</a></td></tr><tr><td><strong>Embodiment quick start</strong><br>Add one module to an existing character and see it working in Play mode.</td><td><a href="/pages/KesLouR7HKrCC8jrNmQQ">/pages/KesLouR7HKrCC8jrNmQQ</a></td></tr><tr><td><strong>Character rig setup</strong><br>How Convai detects bones and blendshapes, and when to override the mapping.</td><td><a href="/pages/4vBSJ7Fjndr7KbLT4hAp">/pages/4vBSJ7Fjndr7KbLT4hAp</a></td></tr><tr><td><strong>Embodiment presets</strong><br>Bundle every module's settings into one asset and swap it at runtime.</td><td><a href="/pages/UbtubfC4hHpNPmgYPkJE">/pages/UbtubfC4hHpNPmgYPkJE</a></td></tr><tr><td><strong>Facial composition</strong><br>How Emotion and LipSync share the mouth, brow, and other facial regions.</td><td><a href="/pages/UDXvrUDjWM5Qk5HV1HxS">/pages/UDXvrUDjWM5Qk5HV1HxS</a></td></tr><tr><td><strong>Embodiment Editor window</strong><br>The Setup, Presets, and Live tabs for inspecting a character's embodiment state.</td><td><a href="/pages/9r0fgkODPDoX4itg4LLe">/pages/9r0fgkODPDoX4itg4LLe</a></td></tr><tr><td><strong>Embodiment scripting reference</strong><br>The public embodiment API shared across modules.</td><td><a href="/pages/wXUY5JcFcFgANodvaQMM">/pages/wXUY5JcFcFgANodvaQMM</a></td></tr><tr><td><strong>Troubleshoot embodiment</strong><br>Diagnose rigs Convai could not detect, missing bones, and modules that are not ticking.</td><td><a href="/pages/IpF6s77GhSoZ00kIqi4S">/pages/IpF6s77GhSoZ00kIqi4S</a></td></tr></tbody></table>


---

# 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/embodiment.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.
