Every character, an inner life
The moment an NPC repeats a canned line, the illusion breaks. Ensoul characters remember what players did and change because of it.
A personality never runs out of lines
Authored branches run out and repeat. An Ensoul character generates each line from its traits and its memories, so it can answer anything and still sound like itself. It answers questions no writer anticipated, in its own voice.
Every line is generated live from the character's personality. Nothing is cached.
Memory that survives chapters
She remembers the night you saved her daughter. In Chapter 2 you pull the tavern keeper's daughter out of a bandit raid. In Chapter 5 she asks about the scar you took doing it. Forty hours of play sit between those two conversations, and she carried the memory across every one of them.
Fifty hours in, a timid companion has become braver. No quest flag fired.
Example
You save the tavern keeper's daughter from a bandit raid.
"That scar. You got it the night you pulled my girl out, didn't you?"
A village that runs itself
Swipe to see the whole chart.
Five villagers, one town, no dialogue trees. The blacksmith thinks the shopkeeper worries too much. The herbalist finds them both exhausting. When bandits hit the tavern, the keeper offers food and asks about their troubles. Her agreeableness never meant compliance. It meant seeking harmony.
Build it in Studio
Worlds
Define a world and the traits its characters run on.
Personas
Generate characters with structured traits, archetypes, and backstories.
Chat
Talk to any character and probe how they react.
Simulations
Set a whole cast loose and watch what emerges.
Any engine, one API
A REST API that speaks to Unity, Unreal, Godot, or anything you built yourself.
POST /v1/personas/:id/chat
X-API-Key: your_api_key_here
Content-Type: application/json
{ "message": "What do you think about remote work?" }{
"response": "Honestly, I've really grown to appreciate remote work. The flexibility has been amazing for my productivity...",
"conversation_id": "conversation-uuid",
"latency_ms": 842,
"model": "claude-sonnet-5-5",
"timestamp": "2026-01-15T10:40:00Z"
}Stream as it generates
Show dialogue token by token and hide latency.
Persist NPC ids
Generate key characters once, store their ids, keep them across sessions.
Seed each location
Reproducible populations, so a revisited town keeps its characters.
Start free, no card. Building a game on Ensoul? Partner with us
Give your world characters worth remembering.
A free account is enough for a village.
Questions about integration? hello@ensoul-ai.com