Characters
Character files hold the names, images and variables your dialogue uses. You can edit one character at a time or compare your cast in a table.
Create a Character
Choose Add → Character in the Content Browser, then open the file. Set its display name and image, add any variables your story needs and save it. A dialogue can use the character for its speaker and your scripts can read or change character variables.
Each character also has a stable identity. Renaming or moving its file does not require you to choose a new character in every script that refers to it.
Character Families
Character variables can include Character references to other characters and Data references to Data Assets. For example, give a player an EquippedWeapon Data field that selects an item asset. Both reference types can also be stored in arrays and map values.
Characters use the same inheritance model as Data Assets. A child can inherit variables from a parent and override only the values that differ. A shared parent is useful for a group of characters with the same fields, such as Affinity, Role or Portrait.
The character editor shows which values belong to the current character and which come from a parent. If you change a parent's value, children without an override use the new value.
Use a variable row's Add description button or click its existing description to explain what it controls. Built-in fields can have descriptions too. An inherited description is edited in the parent file where the variable was defined. See Variable Descriptions for the editing controls.
All Characters Table Viewer
Right-click a character in the Content Browser and choose View all characters to open the All Characters Table Viewer. It is especially helpful when checking a cast for missing names, portraits or variables. You can edit a value in the table and return to a character's own editor for more detailed work.
Use Characters in Scripts
Choose a speaker on a Dialogue node, or use character variable nodes when dialogue and game logic need character-specific values. During play, character changes belong to the current state and are included by the Save System.
Keep References Stable
Use the character picker or a character reference instead of typing a file path into story logic. This lets you reorganize files without changing the character's identity.
Dialogue can follow related fields, for example {Player.EquippedWeapon.Damage} when Player is a Character variable and EquippedWeapon is a Data field. {Character.Companion.Name} starts from the dialogue's assigned speaker. See Nested Character and Data References for the full rules.
Interface elements can bind directly to a selected character field, including inherited fields, to display health, a name or a portrait. Editable controls update the field during play, and On Variable Changed can react to those updates.
Existing Projects
When you open an older project, StoryFlow Editor updates character references for the current format. Keep a backup of the project before upgrading, then open your important dialogues and check character names, images and variables. Export again before updating a game engine project so the plugin receives the character index along with the scripts.
The JSON export keeps characters.json for engine compatibility and adds character-index.json to associate stable character identities with those characters. See JSON Export for the exported files.