Skip to main content

Settings

Settings live in a dockable Settings tab with a two-pane category browser. A scope toggle at the top switches between Application settings (preferences that follow you across every project) and Project settings (metadata and audio that are saved with the current project).

Overview

In StoryFlow Editor, settings open as a regular editor tab rather than a separate window or a dropdown menu. That means you can dock the Settings tab anywhere a tab can go: in the main editor area, split alongside a script, or pulled out into its own window. You can keep it open while you work and watch changes apply live.

Almost every Application setting takes effect immediately and is shared across all open editor windows. Changing the theme, interface scale, or a canvas option in one window updates the others on the fly. Most preferences also persist between sessions, so the editor reopens exactly how you left it.

Replaces the old Settings menu

In versions before 1.5.0, settings lived in a dropdown menu. They now live in the dockable Settings tab described here. If you are following an older tutorial that mentions a "Settings" dropdown, look for the Settings tab instead — the options are the same, reorganized into categories.

The Settings Tab

The Settings tab is split into two resizable panes, mirroring the Content Browser's tree-and-detail layout. Drag the separator between them to adjust the split; the layout is remembered between sessions.

  • Left pane (category browser): a scope toggle at the top, followed by the list of setting categories for the selected scope. Click a category to open it. The active category is highlighted.
  • Right pane (detail view): the settings for the selected category, each with a short description. A search box at the top of every category filters its rows by label or description.

The scope toggle at the top of the left pane has two segments:

  • Application — editor-wide preferences. These are tied to your installation, not to any one project, and apply no matter which project is open.
  • Project — settings stored inside the currently open project, such as its name, startup script, and audio channels. These travel with the project file.

The categories available under each scope are:

Scope Categories
Application Appearance General Script Editor Keybindings Developer
Project General Audio

The Developer category only appears in development builds of the editor, so you won't see it in the released app. Everything else is available in every build.

Appearance

The Appearance category controls how the editor looks. It has three settings.

Interface Scale

Interface Scale zooms the entire editor up or down. Use the stepper to pick a preset percentage (the value is shown as a percentage, e.g. 100%). The default is 100%.

Scale is implemented as a window zoom factor: text re-rasterizes crisply at any size and the layout reflows correctly. One thing to keep in mind — because it zooms the whole window, the node canvas and UI preview scale along with the menus, sidebars, and panels (the same way zooming works in most desktop apps). To zoom only the canvas independently, use the canvas's own zoom controls instead.

Comfortable on any display

On a high-resolution or small laptop screen, nudge Interface Scale up a step or two to make labels and controls easier to read. On a large monitor, scaling down fits more of your graph on screen at once.

Editor Theme

Choose the color theme applied to the editor chrome (menus, panels, tab strip, and surrounding UI). The default theme is selected out of the box. Theme changes broadcast to every open window so they all switch at once.

Variable Colors

Variable type indicators (the colored pills on Boolean, Integer, Float, String, and other variables) can use one of two color schemes:

  • Default — StoryFlow's native palette (Boolean yellow, Integer cyan, Float lime, String pink, and so on).
  • UE Style — a palette inspired by Unreal Engine's Blueprint colors (Boolean red, Integer/Float teal-green, String magenta).

The panel shows a small swatch table so you can preview both schemes before committing. The choice applies everywhere variable colors appear — including the runtime preview when you play your story. See the Variables page for the full color reference for each scheme.

General

General collects miscellaneous application preferences.

Auto Save Files

Automatically saves all changed files at a regular interval so you don't lose work if the app closes unexpectedly. Choose how often the editor saves:

  • Off — never auto save (you save manually).
  • 30 seconds (default)
  • 1 minute
  • 2 minutes
  • 5 minutes

The default is 30 seconds. Auto save complements manual saving with Ctrl+S (Cmd+S on macOS) — it doesn't replace it.

Keep auto save on

Leaving auto save at 30 seconds is a cheap safety net. Files with unsaved changes are still marked with a yellow asterisk in the Content Browser and tab strip, so you always know what's pending.

Selection After Duplicate

Controls what stays selected after you duplicate nodes on the Script Editor canvas (with Ctrl+D or the context menu). Note: this row appears in the Script Editor category in the editor — it is grouped with the other canvas options. The three modes are:

  • Extend Selection (default) — the originals stay selected and the new copies are added to the selection, so the selection grows.
  • Select Duplicates — only the new copies are selected; the originals are deselected.
  • Keep Originals — only the originals stay selected; the copies are not.

Spellcheck

Underlines misspelled words in text fields (for example dialogue text). Off by default.

Image Preview Size

Sets the size of the thumbnail that pops up when you hover items in image and character dropdowns: Off, Small (128px), Medium (192px) (default), or Large (256px).

Script Editor

The Script Editor category configures the node canvas — how it looks and behaves while you build your graph.

  • Viewport Controls — the mouse and modifier bindings for selecting nodes versus panning the canvas. Choose Default or Alternative. A help tooltip (the ? next to the label) explains each scheme.
  • Background Style — the pattern drawn behind the nodes: Lines (default), Dots, or Cross.
  • Connection Style — the shape of the edges between connected nodes: Curve (default), Straight, or Step.
  • Snap to Grid — snap nodes to the background grid while dragging. Off by default.
  • Show Minimap — display the canvas minimap in the bottom-right corner. On by default.
  • Colored Nodes on Minimap — color minimap nodes by node type. On by default; only available while the minimap is shown.
  • Auto-label Buttons — when you connect a button option to another dialogue node, automatically set the button's text to the target node's title. Off by default.
  • Selection After Duplicate — described under General above; it lives in this category.

Per-window vs. shared

Canvas appearance settings like Background Style and Connection Style are shared across all open windows, so your whole workspace stays visually consistent. Live runtime state (such as the playback volume slider) is intentionally per-window and isn't a saved setting.

Keybindings

The Keybindings category lets you remap nearly every keyboard shortcut in the editor. Commands are organized into collapsible groups that mirror where they apply — for example General (app-wide file operations), Script Editor Canvas, User Interface Editor, Content Browser, and Markdown Editor. A search box filters across every group at once.

Rebinding a shortcut

Each command row shows its current key combination as one or more chips. To change a binding:

  1. Click a chord chip to start recording.
  2. Press the key combination you want. The chip shows a live preview as you hold modifiers.
  3. Release to commit the new chord. Use the + chip on a row to add an additional chord (see multi-chord bindings below).

On macOS the Mod modifier records as ⌘ (Cmd); on Windows and Linux it records as Ctrl. Recording also supports explicit Ctrl (on Mac) and Meta (on Windows/Linux) as escape hatches when you need a specific physical modifier.

Conflict detection

If the combination you record is already bound to another command, the editor shows an inline warning naming the conflicting command. You can either Override (which unbinds only the clashing chord from the other command and keeps your new binding) or Cancel. This keeps you from silently double-binding a key.

Multi-chord bindings

A single command can have more than one chord bound to it — pressing any of them fires the command. For example, Delete Selection on the canvas ships bound to both Delete and Backspace. Add chords with the + chip; remove an individual chord by right-clicking its chip and choosing Remove this chord.

Reverting a single shortcut

Whenever a command differs from its built-in default, a small reset control appears on that row to restore just that command's default chords. Resetting also runs conflict detection, so if a default would now clash you resolve it the same way as when recording.

Spawn Nodes sub-group

Inside the Script Editor Canvas group is a nested Create Nodes sub-group for node-spawn shortcuts. These are "hold-and-click" shortcuts: hold the shortcut and click empty canvas in a script file to drop the matching node. The editor seeds five of them by default:

Shortcut (hold + click) Creates
D Dialogue node
R Run Script node
B Branch node
E End node
C Comment node

You can rebind any of these, and you can add a spawn shortcut for almost any other node type with the Add Create Shortcut button. It opens a searchable node picker (the same catalog the canvas's create menu uses). Each node type can have at most one spawn shortcut; once every type is bound, the button disables. Remove a custom spawn shortcut with its trash button or the right-click menu.

Build graphs without the menu

Spawn shortcuts are the fastest way to lay out a graph: hold D and click to drop dialogue nodes, hold B and click for a branch, and so on — no trip to the right-click menu. Pair them with the canvas's drag-to-connect to rough out a scene in seconds.

Developer

The Developer category is only present in development builds of the editor, so most users will never see it. It currently exposes a single in-memory toggle, React Scan, which highlights components as they re-render — a debugging aid for contributors working on the editor itself. It has no persisted settings.

Project Settings

Switch the scope toggle to Project to edit settings stored inside the currently open project. Unlike Application settings, these are saved with the project (in its .storyflow file) and travel with it. Because all editor windows share one open project, project settings are the same across every window.

Project: General

Project metadata and startup configuration:

  • Project Name — the display name shown in the projects list. Renaming here also renames the .storyflow file on disk. Only letters, numbers, spaces, underscores, and hyphens are allowed.
  • Project Description — an optional description shown in the projects list and the Project Details popup.
  • Startup Script — the .sfe script that runs when the game starts.
  • Default UI — the .sfui user-interface file displayed when the game starts.

Name and description are committed when the field loses focus (or when you press Enter in the name field).

Project: Audio

The Audio category manages your project's named audio channels. Channels route output for dialogue and Play Audio nodes, letting you balance, for example, a music channel against voice and sound effects.

  • Master volume — a default level that scales all channels.
  • Per-channel volume — each channel has its own default-volume slider and an editable name.
  • Add, rename, reorder, delete — add channels with Add Channel (up to a maximum of 8), rename them inline, drag to reorder, and delete channels you no longer need. A project always keeps at least one channel.

When you delete a channel that's still referenced by nodes, the editor prompts you to reassign those references to another channel so nothing is left pointing at a missing channel.

Volumes here are defaults

The master and per-channel volumes set in this panel are the starting levels applied each time the game begins. During play, the runtime exposes its own volume controls, so players can still adjust the mix live without changing your project's saved defaults.

Import, Export & Reset

Two controls in every Application category's header — Export Settings and Import Settings — let you move your preferences between machines or back them up.

  • Export Settings writes a single JSON bundle containing your Appearance (theme, interface scale, variable color scheme), General, Script Editor, and Keybindings settings — including any custom and spawn shortcuts.
  • Import Settings loads such a bundle and applies each section. Unknown or invalid values are skipped rather than failing the whole import.

Cross-platform shortcut overlaps

Because ⌘ and Ctrl map differently across operating systems, a keybinding bundle exported on macOS can produce overlapping shortcuts when imported on Windows or Linux (or vice versa). When this happens, the editor imports your settings but warns you how many shortcuts now overlap and offers a Review shortcut that jumps straight to the Keybindings category so you can resolve them.

Resetting to defaults

A Reset Settings menu — also in each category header — restores settings to their built-in defaults. It offers two actions, each behind a confirmation dialog:

  • Reset [Current Category] — restores every setting in the active category. This is only available when that category actually differs from its defaults.
  • Reset All — restores every category at once.

The menu is disabled when nothing differs from defaults, so it never does anything unexpected. The Developer category has no persisted settings, so it has no per-category reset.

Settings checklist

  • Pick a comfortable Interface Scale and theme in Appearance
  • Leave Auto Save on (30s) so work is never lost
  • Tune the canvas (background, connections, minimap) in Script Editor
  • Set up spawn shortcuts to build graphs faster
  • Configure project name, startup script, and audio channels under Project scope
  • Export your settings to reuse them on another machine

Next Steps

With the editor configured, learn how to dock and arrange the Settings tab (and every other tab) in the Workspace Layout guide, or how to organize your project files in the Content Browser.

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