Skip to main content

Game Engine Integration

Integrate StoryFlow Editor with your game engine. Official plugins are available for Unreal Engine, Unity, and Godot - all free and open-source.

Overview

StoryFlow Editor projects can be exported as JSON files and integrated into any game engine. Official plugins are available for Unreal Engine, Unity, and Godot, providing seamless integration out of the box. Each plugin runs the branching logic for you - a deliberate alternative to the hand-coded conditionals covered in our guide on structuring branching dialogue that scales.

Plugin versions 1.2.0 and newer add support for map variables. If your project uses maps, the editor warns you during live sync when a connected plugin build predates map support.

All Plugins Available

Official plugins are available for Unreal Engine, Unity, and Godot - all free and open-source. For other engines, you can use the JSON Export feature and build your own parser.

What the Export Guarantees

Two properties of the data your plugin receives are worth knowing about, because both used to be your problem and are now handled before anything leaves the editor.

Node IDs are unique across the whole project

Every runtime, the official plugins included, tracks per-node state by node ID: which once-only options a player has taken, loop cursors, cached node outputs. Duplicating a script used to copy its node IDs exactly, so two files ended up sharing them and one file's state bled into the other's.

Colliding IDs are now re-minted, deterministically, at every point where a graph leaves the editor - project open, file duplication, export, Play and live sync - so what your plugin imports is already unique project-wide and stays stable across re-exports. The start node's "0" is exempt by design, and option IDs are left alone because a unique node ID already makes the combined key unique. The full rules are in JSON Export → Node ID Guarantees.

This one is permanent in a save game

Some plugins write node IDs into the player's save file, so a duplicated ID is not a session glitch that a restart fixes - it is baked into saves that already shipped. If you are on an older editor build, update and re-export before you ship, rather than editing IDs by hand.

Reroute nodes never reach your plugin

A reroute is a bend an author drops onto a wire to keep a crowded canvas readable. It has no behavior, and nothing outside the editor knows the type. Reroutes are spliced out before the graph is handed over, so an exported or synced project contains only direct connections and your importer never has to recognize them. A chain of reroutes collapses end to end, and a reroute feeding several targets becomes one edge per target. The resulting edge IDs are deterministic, so an export, a Play run and a sync of the same project all agree on them - safe to key a diff on.

Unreal Engine Unreal Engine

The official Unreal Engine plugin provides full Blueprint and C++ support for StoryFlow Editor integration. It includes a runtime component for executing dialogue, character and audio systems, variable management, save/load support, and live sync with the StoryFlow Editor.

View Unreal Engine Plugin Documentation →

Unity Integration

The official Unity plugin provides native C# integration with StoryFlow Editor. It includes components for executing dialogue flows, managing variables, character and audio systems, save/load support, and live sync with the editor.

View Unity Plugin Documentation →

Godot Integration

The official Godot plugin provides native GDScript integration for Godot 4.3+. It includes a runtime component for executing dialogue, character and audio systems, variable management, save/load support, and live sync with the editor.

View Godot Plugin Documentation →

Custom Runtime

If you're using a different engine or building your own, you can parse the JSON export format directly. The format is well-documented and straightforward to implement.

For reference on the JSON structure, see the JSON Export documentation.

Get Help

Join our Discord community to ask questions, report bugs, and connect with other developers using StoryFlow plugins.

Need Help?

Join our Discord community to ask questions, share your projects, report bugs, and get support from the team and other users.

Join Discord