1. Help Center
  2. Getting Started
  3. Intermediate Series: Deeper Dive on Components

Variables: Overview

An explanation of what Variables do and how to create them

If the video is too small, mouse over the bottom right and click on the fullscreen icon after you hit play. 



Variables are an important and powerful component in the StoryFlow authoring system. Variables allow you to store values to be used later and to change things dynamically as the scenario unfolds.

Variables may be used in two different ways:

  • They can give the author precise control over tracking and monitoring progress and remembering decisions and actions.
  • They can be used with dynamic content to serve up to have a scenario that adapts to unique conditions in a user's experience.

Quick Links

Variable Menu Location

Variable Settings

Dynamic Variables

Variable Menu Location

When viewing a script, you will find the Variables area to the right of the script editor:

variables tab

When you choose "+ Add New" you are presented with a list of Settings.

Variable Settings 

Script Variables


isGlobal: By checking this option, you are able to use this variable in any other script in your project.  The next time you return to the Variables menu, you will see your Global Variable available to be chosen.

isInput: When you make a variable an input, you automatically create a template script that accepts a value for this variable as an input. A template script is a reusable script that accepts inputs. 

isOutput: It lets a Script send a value back into the Script that called it.  If you add an output variable to Script A then use a Script Launcher that launches Script A from Script B you'll see the outputs added to the bottom of the launcher.


Value Definition

Screen Shot 2021-01-04 at 12.13.03 PM

Primitive - NOT SET: type of primitive variable is not yet defined

Primitive - Boolean: a variable that has two values, true or false

Primitive - String: a variable whose value is a word (or "string" of characters)

Primitive - Date & Time: a variable whose value is formatted and recognized as a day and time

Primitive - Time Span: a variable whose value is a length of time (eg: 2 hours, 3 minutes and 14 seconds)

Primitive - Number (Float): a variable whose value is any real number (can include decimals).

Primitive - Number (Int): a variable whose value is an integer (positive, negative, and 0 included). Integers are whole numbers (no decimals allowed)

Enum:  Used to create a variable that has a list of options or states. 

Creating a Variable

An example of a variable would be a checklist that the learner sees and as they complete tasks in the scenario, the items are checked as complete.  We have a full walkthrough tutorial on creating this type of content here.

Dynamic Variables

Dynamic variables generally represent fields in resources. Their values can be changed during the scenario based on user input and other events while the scenario is running. The value of a dynamic variable can be set and reset throughout the scenario and can change what the user sees and hears and how the scenario plays out.  An example of a dynamic variable would be a speaker in the scene and the learner has the ability to adjust the music to be louder or softer.

Dynamic Variables Editing Screen

Within a script, there is a Dynamic Variable editing screen.  Click on the atom icon to toggle to this area:


Creating Dynamic Variables

We have a full walkthrough tutorial on creating this type of content here.