Import Formats¶
TaleNode can import dialogue graphs from four external formats. All imports are accessible from the File menu.
Warning
Importing replaces the current graph. The operation supports undo — press Ctrl+Z to revert if needed.
Yarn Spinner¶
Menu: File > Import from Yarn...
Imports a Yarn Spinner .yarn file.
What gets imported¶
| Yarn concept | TaleNode equivalent |
|---|---|
| Node (title/body) | Dialogue node per line |
<<jump NodeName>> |
Connection to target node |
-> Option text |
Choice node with options |
<<set $var to value>> |
Variable + Event node (SetVariable) |
<<if $var ...>> |
Condition node |
| Speaker: text | Character + Dialogue node with speaker |
Supported syntax¶
- Node headers (
title:,---,===) - Dialogue lines with optional
Speaker:prefix - Shortcut options (
->) - Jump commands (
<<jump>>) - Variable declarations and set commands
- Basic if/else conditions
Limitations¶
- Inline expressions (e.g.,
{$var + 1}) are imported as literal text - Functions and custom commands are not mapped
Chat Mapper¶
Menu: File > Import from Chat Mapper...
Imports a Chat Mapper JSON export file.
What gets imported¶
| Chat Mapper concept | TaleNode equivalent |
|---|---|
| Conversation | Dialogue graph |
| Dialogue entry | Dialogue node |
| Actor | Character |
| Link | Connection |
| Variable | Variable |
| Hub / group entry | Branching structure |
Requirements¶
- The file must be a valid Chat Mapper JSON export (contains
Assets>Conversations,Actors,Variables) - Root entry is used as the starting point for each conversation
articy:draft¶
Menu: File > Import from articy...
Imports an articy:draft JSON export file.
What gets imported¶
| articy concept | TaleNode equivalent |
|---|---|
| DialogueFragment | Dialogue node (text, speaker from entity reference) |
| Hub | Branching point (multiple outputs) |
| Connection | Connection between nodes |
| Entity (character) | Character |
| Variable set | Variables |
| Input/Output pins | Ports |
Requirements¶
- Export from articy:draft as JSON format
- The file must contain a
Packagessection withModelsentries - Supported model types:
DialogueFragment,Hub,FlowFragment,Condition,Instruction
Limitations¶
- articy scripts and complex expressions are imported as text, not evaluated
- Nested flow fragments are flattened
Ink¶
Menu: File > Import from Ink...
Imports an Inkle Ink .ink file.
What gets imported¶
| Ink concept | TaleNode equivalent |
|---|---|
Knot (=== knot_name ===) |
Group of Dialogue nodes |
| Dialogue line | Dialogue node |
Speaker: prefix |
Character + speaker assignment |
* Choice text |
Choice node with options |
-> divert |
Connection to target knot |
VAR name = value |
Variable (Bool, Int, Float, or Text) |
~ name = value |
Event node (SetVariable) |
Supported syntax¶
- Knots and stitches as organizational units
- Dialogue lines with optional speaker prefix (
Guard: Halt!) - Choices (
*and+prefixes) with optional conditions - Diverts (
-> knot_name) - Global variable declarations (
VAR) - Variable assignment (
~ var = value) - Tags (
# tag)
Limitations¶
- Tunnels (
->->) are not supported - External functions (
EXTERNAL) are skipped with a warning - Inline logic (
{expression}) is preserved as literal text - Threads are not supported
CLI Import¶
You can import files from the command line without opening the GUI:
# Convert Yarn file to .talenode
talenode import yarn dialogue.yarn -o project.talenode
# Convert Ink file, output to stdout
talenode import ink story.ink
# List available import formats
talenode import --list
Supported formats: yarn, ink, articy, chatmapper.
After Import¶
After importing from any format:
- Review the generated graph in the canvas — nodes are auto-positioned
- Check the Validation panel for any warnings (disconnected nodes, missing Start, etc.)
- Review Characters and Variables in the left panel — they are extracted from the imported file
- Save the project as
.talenodeto preserve your work