Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kodeflowstudios.com/llms.txt

Use this file to discover all available pages before exploring further.

A Parley conversation is a single .kfpg Graph file with a StartNode, DialogueNodes and an EndNode. Files live under Resources/{languageEnglishName}/{folderName}/{langCode}.{fileName}.kfpg.

A complete graph

Sample Graph The rest of this page documents each node type in detail.

Node Types

Meta Node

Handles language and reading direction for the file. Used by Parley at load time and and used for UI layout decisions. Meta Node
Language
LanguageID
required
The language this file is authored in. See LanguageID.
TextDirection
TextDirection
required
Reading direction. LTR or RTL. See TextDirection.
meta
MetaData
default:"Fallback MetaData"
The MetaData for the current file. Connected to a MetaData utility node.

Alias Node

Handles the reusable text snippets, organized as alias → key → value. Anywhere in dialogue text you write @alias.key, the value is substituted at import time. Useful for character names, titles, or any string you want to change in one place. Aliases resolve into Speaker, Text, Emotion, and choice Text fields. Other fields (NextNode, flag names, etc.) are not alias-resolved. Alias Node Ports
fieldCount
int
default:"1"
Number of flags on the current node.
Alias
string
required
The name of the alias.
Field X Key
string
required
Key for Field X.
Field X Value
string
required
Value of Field X.

Alias Group Node

Groups multiple Alias Nodes into one output port. Alias Group Node Ports
aliasCount
int
default:"1"
Number of flags on the current node.
Alias X
Alias
required
X Alias input port.
Aliases
Aliases
required
Aliases output to be connected tot he Start Node.

Start Node

Marks the beginning of the file, and handles metadata. Start Node Ports
meta
MetaData
default:"Fallback MetaData"
The MetaData for the current file. Connected to a MetaData utility node.
out
output
required
The output connection for the next node.

Dialogue Node

Spoken dialogue. The most common node type. Plain dialogue Standard Dialogue Node With flags Dialogue Node with Flags Ports
in
input
required
The input connection from the previous node.
flagCount
int
default:"0"
Number of flags on the current node.
Speaker
string
required
Who’s talking.
Emotion
string
How they feel.
Text
string
required
What they say.
out
output
required
The output connection for the next node.
Set Flag X
string
The flag X to be set.

Set Flags Node

A node that hanldes and sets all the flags you need, useful after a node that can’t set its own flags like the Branch Node. Set Flags Node
in
input
required
The input connection from the previous node.
flagCount
int
default:"1"
Number of flags on the current node.
Set Flag X
string
required
The flag X to be set.
out
output
required
The output connection for the next node.

Choice Node

A dialogue node that presents the player with options. Same as a Dialogue Node but with a Choices list. When Choices is populated, NextNode on the parent is ignored and is prefered to not be set as it is semantically incorrent. The player’s selection determines the next node. Choice Node
in
input
required
The input connection from the previous node.
Speaker
string
required
Who’s prompting the choice.
Emotion
string
Optional emotion tag.
Text
string
required
The prompt itself.
choiceCount
int
default:"2"

Branch Node

A utility node that routes to one of two targets based on flag state. Branch nodes have no speaker or text. They’re invisible at runtime, used for control flow. Branch Node
in
input
required
The input connection from the previous node.
flagCount
int
default:"0"
Number of flags on the current node.
Check Flag X
string
required
Flag X that must be set for the True branch.
True
output
required
Node to advance to when all flags are set.
False
output
required
Node to advance to otherwise.
Branch nodes are also how you build loops — point False back to an earlier node in the conversation to create a loop.

End Node

Marks the beginning of the file, and handles metadata. End Node Ports
in
input
required
The input connection from the previous node.