Unity Plugin Changelog
New updates and improvements to the StoryFlow plugin for Unity.
Unity Plugin v1.1.1
Array Variable API & String Localization Fix
Adds public GetArrayVariable method for reading array variables from C# and fixes GetStringVariable returning raw string table keys instead of localized text.
What's New
New Features
GetArrayVariable(name, global)— new public method on StoryFlowComponent that returnsList<StoryFlowVariant>for any array type (string, int, float, bool, enum, image, audio, character). String and enum values are resolved through the string table automatically
Bug Fixes
- Fixed
GetStringVariablereturning string table keys instead of localized text — the method now resolves values through the string table before returning, so callers get the actual displayed text rather than internal keys likestr_0
Unity Plugin v1.1.0
Data-Only Sync, Portrait UI & Execution Fixes
Adds support for data-only WebSocket sync (skip asset copying for fast iteration), a new Portrait dialogue UI with 2D sprite rendering, fixes asset serialization on first import, and resolves multiple execution issues with RunScript, arrays, and variable access.
What's New
New Features
- Data-only sync support — when the StoryFlow Editor syncs with “Data Only” enabled, the plugin reuses previously imported assets from the Unity project instead of requiring source files in the build directory, enabling fast script-only iteration without re-copying images and audio
- Added
StoryFlowRuntimeUIPortrait— alternative built-in dialogue UI that renders background and character images as 2D SpriteRenderers in world space instead of UI Image components. Select via the newUI Styledropdown on StoryFlowComponent (requires orthographic camera) - Added
BuiltInUIStyleenum on StoryFlowComponent to choose between Default and Portrait built-in UI styles when no custom DialogueUI is assigned - Imported sprites are now configured as Single mode with Full Rect mesh and Bottom Center pivot, preserving transparent areas used for image positioning
Bug Fixes
- Fixed assets not loading on first import —
AssetDatabase.CreateAsset()is now called after all data is set on ScriptableObjects, ensuring the first disk write contains the full serialized state. Previously, first import after deleting the output folder produced empty script assets that required a second sync to fix - Fixed
PlayAudionot resolving audio assets from character or project resolved assets - Fixed
SetCharacterVarwith Image type not evaluating connected node chains for the value - Fixed media variable evaluation (
GetImage,GetAudio) not checking all asset resolution sources - Fixed
RunScriptoutput parameters not passing return values back to the calling script - Fixed array
Push,Pop,RemoveAt, andInsertoperations not correctly modifying the source array - Fixed
ForEachIntLoopnot returning the current element value via the source handle - Fixed
forEachloops not clearing boolean evaluation caches between iterations - Fixed character variable arrays not being accessible as forEach loop sources
- Fixed variable access (
GetBoolVariable,SetBoolVariable, etc.) failing when called outside of active dialogue - Fixed character variable lookup failing due to variables being keyed by internal ID instead of display name
Improvements
- Added execution trace logging (
[SF-TRACE]prefix) for node processing, edge traversal, variable changes, and script calls — matches the trace format used by the Godot and Unreal plugins for cross-runtime comparison - LiveSync port and output path now persist across Unity editor restarts via EditorPrefs
- Removed
CreateAssetMenuattributes from StoryFlow asset types to prevent accidental manual creation
Unity Plugin v1.0.2
Text Block Visibility & Rendering
Fixes text blocks not appearing in dialogue by adding visibility condition evaluation and rendering support to both built-in UI implementations.
What's New
Bug Fixes
- Fixed text blocks in dialogue nodes ignoring their visibility conditions — they now use the same evaluation as dialogue options
- Fixed text blocks not rendering in the default dialogue UI and the runtime fallback UI — both now display text blocks as non-interactive labels above options
Unity Plugin v1.0.1
String Variables & Audio Fixes
Fixes string variable interpolation, array deserialization, node input matching, and audio behavior on dialogue re-render.
What's New
Bug Fixes
- Fixed string variables displaying raw localization keys instead of actual text in dialogue
- Fixed string array variables not deserializing default values, causing RANDOM nodes to return empty
- Fixed connected node inputs (e.g. SET receiving value from RANDOM) not being found due to handle suffix mismatch
- Fixed dialogue audio restarting when returning from a Set node with no outgoing edge - now uses clip reference comparison matching editor behavior
- Removed unused IsEnteringDialogueViaEdge flag
Unity Plugin v1.0.0
Initial Release
The first official release of the StoryFlow plugin for Unity, bringing full dialogue runtime support to Unity projects.
What's New
New Features
- Full Runtime Engine: Complete execution engine with 160+ node types
- StoryFlow Component: MonoBehaviour for running dialogues with full C# event-driven API
- Zero-Setup Workflow: Auto-creating StoryFlowManager, auto-project discovery, auto-fallback UI
- Variable System: Boolean, integer, float, string, enum, image, audio, and character types
- Array Operations: Full array support with ForEach loops across all variable types
- Text Interpolation: Live variable interpolation with
{varname}and{Character.Name}syntax - Script Execution: RunScript (call/return with parameters) and RunFlow (jump with exit flows)
- Character System: GetCharacterVar/SetCharacterVar with built-in Name and Image fields
- Audio Playback: Loop, reset, advance-on-end, and allow-skip support
- Background Images: Dynamic background image support with persistence and reset
- Save & Load: Slot-based persistence for global variables, characters, and once-only options
- Built-in Dialogue UI: Default uGUI dialogue UI with auto-fallback when no custom UI is assigned
- Custom Inspector: Runtime debugging directly in the Inspector
- JSON Importer: Import StoryFlow Editor projects preserving folder structure
- Live Sync: WebSocket client with auto-reconnect across play mode transitions
- Toolbar Button: StoryFlow logo button with Connect/Sync toggle
Unreal Engine Plugin