For the complete documentation index, see llms.txt. This page is also available as Markdown.

Embodiment

Find the modules that give a Convai character eye contact, gestures, posture, and expression, and learn which one to add first.

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 for that shared model, and Dialogue state 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.

Embodiment quick start

The modules


Explore embodiment

Last updated

Was this helpful?