Installation
This guide walks you through installing the StoryFlow plugin in your Godot 4 project.
Requirements
Before You Begin
- Godot 4.3 or later - The plugin uses GDScript features introduced in Godot 4.3. Earlier versions (including Godot 3.x) are not supported.
- A StoryFlow Editor project - You will need at least one script file to test the plugin. You can sync your project to Godot using Live Sync or export it as JSON from the StoryFlow Editor.
The plugin is pure GDScript and works on all platforms that Godot 4.3+ targets. No additional libraries, SDKs, or GDExtension builds are required.
Install the Plugin
Easiest Way to Get Started
Instead of installing the plugin manually, you can download the example project which comes with the plugin already installed and configured, along with a sample StoryFlow project and a working dialogue scene. The example project was made with Godot 4.3 but works with newer versions without any issues. Just open it and hit play!
Copy the addons/storyflow/ folder into your Godot project's addons/ directory. If the addons/ directory does not exist yet, create it at the root of your project alongside the project.godot file.
your-project/
├── addons/
│ └── storyflow/ ← place the plugin here
│ ├── core/ (runtime GDScript files)
│ ├── editor/ (import dock, importer, WebSocket sync)
│ ├── icons/ (plugin icon)
│ ├── ui/ (default dialogue UI scene + scripts)
│ ├── plugin.cfg
│ └── storyflow_plugin.gd
├── scenes/
├── scripts/
└── project.godot Plugin Structure
The plugin is organized into distinct folders, each serving a specific role:
- core/ - The runtime module that ships with your exported game. Contains
StoryFlowManager(autoload singleton),StoryFlowComponent(the node you add to scenes), data resource classes, and the full node execution runtime. All files in this folder are needed at runtime. - editor/ - Editor-only tools used during development. Handles importing StoryFlow JSON projects, resolving media assets (images, audio), providing the editor dock UI, and the Live Sync WebSocket connection to the StoryFlow Editor. This folder is not needed in exported builds.
- ui/ - A default dialogue UI scene (
.tscn) with its accompanying GDScript. You can use this out of the box, customize it, or ignore it entirely and build your own UI. - icons/ - The plugin icon displayed in the Godot editor's plugin list.
- plugin.cfg - The plugin configuration file that tells Godot about the plugin's name, version, and entry script.
- storyflow_plugin.gd - The plugin's entry point script that registers the autoload, import plugin, and editor dock when the plugin is enabled.
Keep It in the addons Folder
Placing the plugin in your project's addons/ directory ensures it travels with your project and is recognized by Godot's plugin system. Do not rename the storyflow folder - the plugin expects this exact path.
Enable the Plugin
After copying the plugin files into your project, you need to enable it through the Godot editor:
- Open your project in the Godot editor.
- Go to Project > Project Settings.
- Click the Plugins tab at the top of the window.
- Find StoryFlow in the plugin list.
- Check the Enable checkbox next to it.
The plugin activates immediately - no editor restart is required.
What Happens on Enable
When you enable the StoryFlow plugin, three things happen automatically:
- StoryFlowRuntime autoload is registered - A singleton named
StoryFlowRuntimeis added to your project's autoload list. This is the central manager that holds the project data, global variables, runtime character copies, and save/load functionality. You can access it from any script viaStoryFlowRuntime. - StoryFlow import plugin is registered - A custom import plugin is registered that handles
.storyflowproject files. This allows Godot to recognize and process StoryFlow project files when they are placed in your project. - StoryFlow editor dock is created - A dock panel appears in the editor that provides tools for importing StoryFlow projects, configuring import settings, and managing the Live Sync connection.
Autoload Registration
The StoryFlowRuntime autoload is added automatically when the plugin is enabled and removed when it is disabled. You should not add or remove it manually in Project > Project Settings > Autoload. If you see it listed there, the plugin is working correctly.
Verify Installation
Once the plugin is enabled, verify that everything is working correctly:
- Check the Autoload list: Go to Project > Project Settings > Autoload and confirm that
StoryFlowRuntimeappears in the list and is enabled. - Check the editor dock: Look for the StoryFlow dock panel in the editor. It should appear in the bottom panel or as a side dock, depending on your editor layout. This dock provides the import UI and Live Sync controls.
- Check node availability: Create a new scene, click Add Child Node, and search for "StoryFlowComponent". It should appear in the node list, ready to be added to your scene tree.
No Project Yet?
If you have not imported a StoryFlow project yet, the StoryFlowRuntime will have no project loaded. This is expected. You will import your first project in the Quick Start guide.
To further verify the plugin from GDScript, you can add a quick test in any script:
func _ready():
# Verify StoryFlowRuntime autoload is accessible
if StoryFlowRuntime.has_project():
print("StoryFlow project loaded: ", StoryFlowRuntime.get_project())
else:
print("StoryFlow plugin active, no project loaded yet") Ready to Go
Plugin installed and verified? Head over to the Quick Start guide to import your first StoryFlow project and get dialogue running in your game.