Import & Export
Import & Export
Get your content in and out of Storyarn in formats that work with every major game engine.
Storyarn can export your narrative content to 7 formats covering every major game engine and dialogue system. Whether you are building with Unity, Unreal, Godot, or using Ink or Yarn Spinner as your runtime, Storyarn has a serializer ready for your pipeline.
Export formats
| Format | Extension | Engine / Tool | Content supported |
|---|---|---|---|
| Storyarn JSON |
.json |
Storyarn (full backup) | Sheets, Flows, Scenes, Screenplays, Localization, Assets |
| Ink |
.ink |
Inkle’s Ink runtime | Flows, Sheets |
| Yarn Spinner |
.yarn |
Yarn Spinner (Unity, Godot) | Flows, Sheets |
| Unity Dialogue System |
.json |
Unity (Pixel Crushers, etc.) | Flows, Sheets |
| Godot Dialogic |
.dtl |
Godot 4 Dialogic plugin | Flows, Sheets |
| Unreal Engine |
.csv |
Unreal Engine (Data Tables) | Flows, Sheets |
| articy:draft |
.xml |
articy:draft XML import | Flows, Sheets |
The Storyarn JSON format is the only one that supports the full project – all entity types including scenes, screenplays, and localization data. The engine-specific formats focus on flows and sheets, which is what game runtimes need for dialogue and variable state.
How to export
- Navigate to Export & Import from your project sidebar.
- Choose a format – Select from the 7 available formats. The content checkboxes update to show which sections that format supports.
- Select content sections – Check or uncheck Sheets, Flows, Scenes, Screenplays, and Localization. Sections not supported by the selected format are disabled.
- Choose asset mode – Control how asset files (images, audio) are handled:
| Asset mode | Behavior |
|---|---|
| References only | Asset URLs are included in the output (default, smallest file) |
| Embedded | Assets are Base64-encoded inline (larger file, fully self-contained) |
| Bundled | Output is a ZIP file with an assets folder alongside the data file |
- Set options – Toggle “Validate before export” and “Pretty print output” as needed.
- Download – Click the download button to get your file.
Pre-export validation
Before downloading, you can run validation to catch issues that would cause problems in your game. Click Validate to check your project. The validator runs 9 checks and reports findings at three severity levels:
Errors (will likely break your game):
- Flows missing an Entry node
- Broken references: jump nodes pointing to non-existent hubs, subflow nodes referencing deleted flows, slug lines linked to missing scenes
Warnings (potential issues):
- Orphan nodes with no connections
- Unreachable nodes (not reachable from Entry via BFS traversal)
- Empty dialogue nodes (no text content)
- Dialogue nodes with no speaker assigned
- Circular subflow reference chains (A references B references A)
- Missing translations for configured languages
Info (worth knowing):
- Orphan sheets with no references from any flow or scene
Import
Storyarn can import project data from .storyarn.json files – the same format produced by the Storyarn JSON export. This is useful for migrating projects between workspaces, restoring backups, or merging content from different team members.
Import workflow
-
Upload – Select a
.jsonfile (maximum 50 MB). Click “Upload & Preview” to parse it. -
Preview – Storyarn shows you what the file contains: counts of sheets, flows, nodes, scenes, screenplays, and assets. If any entity shortcuts conflict with existing content in your project, they are listed here.
-
Resolve conflicts – When shortcut conflicts are detected, choose a strategy:
| Strategy | Behavior |
|---|---|
| Skip | Keep existing entities, ignore conflicting imports |
| Overwrite | Replace existing entities with imported data |
| Rename | Import with a new shortcut to avoid collision |
- Execute – Click Import to apply. The import runs inside a database transaction, so it is all-or-nothing. If any step fails, everything is rolled back and you get an error message explaining what went wrong.
Import safeguards
- 50 MB file size limit – Enforced at upload time.
- JSON structure validation – The file must be a valid JSON object with the expected top-level keys.
- Entity count limits – Prevents importing excessively large datasets that could impact performance.
- Transactional execution – All-or-nothing. No partial imports.
- Edit permissions required – Only project owners and editors can import. Viewers see a locked state.
Other export paths
Beyond the main Export & Import page, Storyarn offers specialized export features in other areas:
Localization export – From the Localization page, export translations as Excel (.xlsx) or CSV filtered by language. Import translated CSV files back with ID-based matching. See the Localization Overview for details.
Screenplay export – Export individual screenplays to Fountain format (.fountain) for use in screenwriting tools like Final Draft, Highland, or WriterSolo. Import existing Fountain files to create new screenplays in Storyarn.