Dialogue boxes support a large amount of tags and styling options that can be inputted directly from the text field.
A character name and expression can be included before a line of dialogue to set the box’s name, portrait, and blip sound.
The level editor includes a built-in character and expression picker to handle this.

Farmer_happy: Hello everyone!
The general syntax is Character: Message. An underscore can be added to adjust the expression, and a slash can be added to change the character’s display name.
| Example Message | Result |
|---|---|
Hello! |
The textbox displays “Hello!”. No portrait or name is shown |
Samurai: Hello! |
Samurai says “Hello!”, with the default neutral expression |
Samurai_happy: Hello! |
Samurai says “Hello!”, with the “happy” expression |
Samurai/Patient: Hello! |
Samurai says “Hello!”, with the default neutral expression |
| The name above the textbox displays “Patient” | |
Samurai_missed/Patient: Hello! |
Samurai says “Hello!”, with the “missed” expression |
| The name above the textbox displays “Patient” | |
/Patient: Hello! |
The textbox displays “Hello!”. No portrait is shown. |
| The name above the textbox displays “Patient” |
Custom characters can appear in dialogue boxes by using the same name as their spritesheet and .json file. Their files must be present in the level’s working directory.
To configure or modify a custom character’s display name, dialogue sound, and portrait position, see Custom Characters.
When typing multiple lines into a single dialogue event, they will be read as a sequence of dialogue boxes that display one after the other.
Samurai_Happy: Some days are good.
Paige: Indeed.
Delay tags (e.g. [10]) can be used to adjust the time before the next message is displayed.
If the <sticky> tag is used on the final line, it will not disappear until a new dialogue sequence replaces it.
Dialogue tags are enclosed in either <angle brackets> or [square brackets]
</color>)Doctors are taking <color=red>too long!</color>