Skip to main content
Personality belongs to the Entity. Speech synthesis and animation belong to the surface or shell. Configure both deliberately so they express the same character.

Core traits

personality.core_traits uses numeric values between 0 and 1. The bundled templates include curiosity, warmth, assertiveness, humor, openness, neuroticism, and conscientiousness.
These values contribute to prompt construction and behavior. They are not deterministic controls for every response or a validated psychological measurement.

Written voice

Use personality.voice for vocabulary, sentence style, humor, expressiveness, and recurring language choices:
Concrete instructions are easier to evaluate than long lists of adjectives. Keep the backstory useful to conversation; do not fill it with secrets or rules that should instead be enforced by the runtime.

Spoken voice

The WebXR shell has its own voice block:
This block belongs in shell.yaml, not under personality. Voice availability depends on the configured provider and installed runtime extras. The Entity’s text and the shell’s audio are separate stages.

Change the body without replacing identity

Swap a shell’s model, animations, or voice to change presentation. Keep the shell bound to the same ngram_entity runtime and person mapping to preserve continuity. See shells for asset paths, animation aliases, and behavior packs, and identity architecture for how traits and experience enter prompts.