studio

FolioTier 1

say

Attribute a dialogue line to a named character.

Use say for a line spoken by a character. A cast handle keeps recurring dialogue connected to the same character through renames; a quoted name suits a one-off voice such as a guard or announcement.

For a line that should continue on its own, enable Auto-advance in the event Inspector and choose a delay. In narration mode, open the timing control for the same setting. The switch starts at 2 seconds; leave it off to follow the reader's Auto setting.

The delay begins after the entire line is revealed. This event advances even with reader Auto off and uses its own delay instead of the reader's delay or voice-end wait. A reader can still advance manually. Use auto(0) to continue as soon as the full text appears; the setting applies only to this event.

Parameters

ParameterKindRequiredDefaultNotes
auto(seconds)numberno-Optional auto(2) after the text and before any if clause. Advances this event after 0-60 seconds from full text reveal, even with reader Auto off. Replaces the reader's delay and voice-end wait for this line. Menus, editing, and paused playback hold the timer; manual advance still works. Omit to follow reader settings.
characterstringyes-The speaker. A bare cast handle (`say vee:`) references a cast member by a stable id and is rename-safe - renaming the character never touches the line. A quoted name (`say "Guard":`) is a one-off custom speaker that is not in the cast, optionally followed by a `#rrggbb` namebox color (`say "Guard" #8899ff:`). The colon separator is required. For a line with no speaker, use `narrate` instead.
textstringyes-The dialogue line. Supports text-tag grammar (see Effects → text-tags). Each `say` is one logical line - implicit string continuation across indentation changes inside a label body is not supported.

Canonical example

Folio
say "Emma": "I missed you."
say "Emma": "How long has it been?"
Ren'Py
e "I missed you."
e "How long has it been?"

Folio spells out the dialogue verb and separates the speaker from the text with a colon. For a timed exclamation, write say "Elise": "Hyaa!" auto(2). Put an optional condition last: say "Elise": "Hyaa!" auto(2) if ready.

Notes

Each say is one event. Start another say for the next line; use narrate when there is no speaker. Both accept the same inline text tags and optional auto-advance timing.

Menus, editing, and paused playback suspend the countdown. Returning to playback starts the full delay again. Selecting a line in Forge holds it for inspection until playback resumes.

See also

  • narrate - narrator lines without a character attribution
  • characters - defining the characters this verb references
  • text-tags - inline formatting grammar