🧙♂️Built-in Content
Last updated
Last updated
A Countdown Config functions as a countdown timer and is utilized to trigger a node after a specified period. It is comparable to the Delay Modifier; however, Countdown Config offers additional functionality, such as the ability to halt the countdown midway or detect if the countdown has started, been intentionally stopped, or ended.
To configure, initiate the “Start” Effect, which begins the countdown.
Upon completion of the countdown, the “State Changed to: Expired” trigger will activate.
Note: It is essential to invoke the “Stop” Effect of the Countdown Config once the timer expires to reset the countdown. Failure to reset will result in the countdown being unable to restart.
State Changed to
A listener node that activates when the specified condition is met.
Value Changed
This triggers whenever there is a change in the countdown.
Note: As of version 1.15.x, this feature is still under development. It is recommended to refrain from using it until further notice.
Start
Call this to start the countdown.
Stop
Call this to stop the countdown.
If State is
An if-condition to check if the timer is running, stopped, or has ended.
Length in Seconds
The length of the countdown timer.
A Datum Config serves as a variable—a container for holding a piece of information. It functions like a small storage box for values, commonly used for applications such as displaying scores, life points, countdown timers, and more.
To display stored values on the player’s screen or a billboard UI, the Datum Config is typically paired with a “Datum Viewer” Symbol. By connecting the Datum’s “Updated” Cause to the Datum Viewer’s “Update” Effect, the display automatically updates to reflect the latest value stored in the Datum.
Updated
The “Updated” Cause is triggered each time the “Current Value” Trait changes, making it useful for monitoring the latest value stored in the Datum.
Modify
Adjusts specific attributes of a Datum, such as "Is Persistent," "Initial Value," and "Current Value."
Is Persistent
Toggles the persistence of the Datum. When checked, the Datum retains its value across sessions.
Initial Value
Specifies the starting value of the Datum, applied when the Datum is first created or reset.
Current Value
Represents the active value of the Datum, which can be updated as needed during a session
Set Datum
Replaces the “Current Value” of the existing Datum with the value of the specified Datum. When this node is called, it will update the current Datum to match the value of the assigned Datum, effectively setting the new “Current Value” to the specified one.
Set Value
Set the "Current Value" Trait of the Datum.
Reset Value
Resets the Datum’s "Current Value".
Add Datum
Increases the “Current Value” of the Datum by the “Current Value” retrieved from another Datum. When this node is called, it takes the “Current Value” from the specified Datum and adds it to the target Datum’s “Current Value”.
Add Value
Increments the “Current Value” by a specified amount. For example, if the Value is set to 2, calling this node will add 2 points to the current value.
Subtract Datum
Decreases the “Current Value” of the Datum by the “Current Value” retrieved from another Datum. When this node is called, it takes the “Current Value” from the specified Datum and subtracts it from the target Datum’s “Current Value”.
Subtract Value
Decrements the “Current Value” by a specified amount. For example, if the Value is set to 2, calling this node will subtract 2 points to the current value.
Multiply Datum
Multiplies the “Current Value” of the Datum by the “Current Value” retrieved from another Datum. When this node is called, it takes the “Current Value” from the specified Datum and multiplies it with the target Datum’s “Current Value”.
Multiply Value
Multiplies the “Current Value” by a specified factor. For example, if the factor is set to 3, calling this node will multiply the current value by 3.
Divide Datum
Divides the “Current Value” of the Datum by the “Current Value” retrieved from another Datum. When this node is called, it takes the “Current Value” from the specified Datum and divides the target Datum’s “Current Value” by this amount.
Divide Value
Divides the “Current Value” by a specified divisor. For example, if the divisor is set to 4, calling this node will divide the current value by 4.
If Is Equal To Datum
Compares the "Current Value" of the Datum to the "Current Value" of another specified Datum. When this node is called, it checks if the two values are equal and proceeds based on the result. This can be used to trigger specific actions if the values match.
If Is Equal To Value
An if-condition that compares the “Current Value” of a Datum to a specified value. This node has two output sockets: if the condition is true, the left socket’s connected node is triggered; if false, the right socket’s connected node is activated.
If Is Less Than Datum
Compares the "Current Value" of the Datum to the "Current Value" of another specified Datum. When this node is called, it checks if the current value is less than the specified value and proceeds based on the result. This can be used to trigger specific actions if the target value is lower.
If Is Less Than Value
An if-condition that checks if the “Current Value” of a Datum is less than a specified value. There are two output sockets: if the condition is true, the left socket’s connected node is triggered; if false, the right socket’s connected node is activated.
If Is Greater Than Datum
Compares the "Current Value" of the Datum to the "Current Value" of another specified Datum. When this node is called, it checks if the current value is greater than the specified value and proceeds based on the result. This can be used to trigger specific actions if the target value is higher.
If Is Greater Than Value
An if-condition that checks if the “Current Value” of a Datum is greater than a specified value. This node also has two output sockets: if the condition is true, the left socket’s connected node is triggered; if false, the right socket’s connected node is activated.
A Group Config organizes multiple Sparks into a single entity, allowing for collective modification. This is useful when, for example, you need to change the visibility of multiple Sparks with a single action.
Visible
A checkbox that determines the visibility state of the group. When checked, the group is visible; when unchecked, the group is hidden.
Group Name
Specify an overall name for the Spark Group. This also displays all of the Spark that are under the Group.
An Inventory Spark is used to store Spark names in a list, which is particularly useful for displaying items, quests, and similar content.
To add a Spark to the list, attach a Cause on the desired Spark to the “Inventory Add” Effect of the Inventory Config.
To display the list, link the “Changed” Cause of the Inventory Config to an “Update” Effect of an Inventory Viewer Symbol that exists in a Billboard or a ScreenSpace UI.
The maximum number of Spark names that can be stored in the Inventory Config is determined by its “Maximum Items” Trait. If the list reaches this limit, the oldest Spark is removed as the new one is added, following a FIFO (First In, First Out) approach.
Additionally, the list does not accept duplicates, so adding the same Spark again has no effect.
Changed
Triggers an event when the inventory has been modified. This node detects changes in the inventory, such as items being added or removed.
Modify
Modify the Traits of the Inventory Spark
Add
Adds an item to the inventory. This node allows you to specify an item to be added, updating the inventory accordingly.
Remove
Removes a specified item from the inventory. This node lets you designate an item and quantity to be removed.
Clear Clears all items from the inventory. This node removes all items and resets the inventory to an empty state, useful for resetting or starting fresh.
Maximum Items
Defines the maximum number of items that the inventory can hold. Once this limit is reached, no additional items can be added until space is made available.
A Modifier Config is a built-in configuration that cannot be added or removed in the Configs Panel. It manages Chapter-wide controls and features specific to Behavior, including functions like Blackout, Change Chapter, Comment, Spawn Spark, Debug, Delay, Ember, Exit Book, Random, Chapter Started, Stop Audio Channel, and Toggle.
For more detailed information on Modifiers, refer to the Modifiers page under Behavior Nodes.
A Randomizer Config is used to trigger random output sockets within a node. Start by using the “Generate Value” Effect, as shown in the image below. When called, this Effect randomly selects and triggers an output socket. The number of possible outputs can be adjusted using the “Total Values” Trait.
No Valid Value
This node activates when all "Valid Values" have been used. This prevents the node from reusing values until it is reset or reconfigured, allowing for a unique selection process that ensures each value is used only once per cycle.
Note: This feature only activates when the Require Unique? Trait is checked.
On Last Valid Value
Triggers when the last remaining unique valid value is selected from the set. This node activates right before all values have been exhausted, allowing for specific actions to be taken when only one value remains.
Note: This feature only activates when the Require Unique option is checked.
Modify
Allows dynamic modification of the Randomizer’s traits, including "Require Unique", "Auto Reset History", "Total Values", and "Valid Values".
Generate Value
Outputs a randomly selected value from a defined range of options. When this node is used, it picks a value at random from a set determined by the "Total Values" Trait.
Reset History
Allowing the clearing of all previously generated values. Each time the node is used, it selects a new random value based on the current settings.
Set Valid Outputs
Configures the "Valid Values" trait of the Randomizer Spark. Activating this node updates or replaces the current set of "Valid Values" for the Randomizer, defining the range of possible outputs.
The Respawn Config is a built-in configuration that cannot be added or removed. It ensures that if the player falls below ground level, they will respawn based on a specified Threshold Type. For instance, with a Distance Threshold, the player will respawn once they fall a certain distance below the ground zero (sea level) area, preventing infinite falling.
A State Machine Config is a specialized Spark that tracks and stores a specific state, operating as a simple system to control a sequence of states using numeric values. Each state is represented by a unique number, and the machine transitions between states according to the Effects called. Think of it as a series of steps or levels, each assigned a number, with specific rules governing movement from one step to the next. The default state value is 0.
The “On State” Cause is triggered when the state changes, and state transitions can be managed using the “Go to State” or “Next or Previous State” commands. Conditional logic can also be implemented by using the “If State is” Effect.
On State
A listener node that triggers when a change in state occurs. Note that it does not trigger at the start of the chapter when the state is initially set to 0.
Go to State
Sets the current state to a specified value.
Next State
Increments the state by 1. For example, if the current state is 2, calling this Effect changes the state to 3.
Previous State
Decrements the state by 1. For example, if the current state is 2, calling this Effect changes the state to 1.
If State is
An if-condition to check if the current state equals the specified State Id. If the condition is met, the output socket triggers the connected node. If not, the output socket does not trigger.
A Sun Config is a built-in configuration that cannot be added or removed from the Configs Panel. It acts as the main light source, with adjustable settings for Brightness (0 - 100%) and Time of Day (0 - 24 hours) to simulate different lighting conditions throughout the day.
Modify
Allows for dynamic adjustment of the sun’s traits, including "Brightness" and "Time of Day".
An Audio Spark is used to play sound effects or music. It is added to the Configs Panel, and the “Audio” Effect with the State set to Play is called to start the sound effect.
Modify
Used to adjust specific traits of the Audio Config Spark.
Audio
An Effect that specifies the audio clip to play, pause, stop.
Change Audio Channel Trait
This Effect changes the audio channel at runtime when activated.
Music Sparks function similarly to Audio Sparks, except they are permanently looped and cannot be turned off. This feature is set to be deprecated; it is recommended to use the Audio Spark instead and enable the Loop Audio option to serve as background music.
A Sky Spark is a built-in Config that cannot be added or removed from the Configs Panel. It controls the appearance and lighting effects of the sky, helping to shape the overall atmosphere in the environment.
Modify
A Light Spark is a Spark that serves as a light source, emitting light within the scene.
A Portal Spark is used to transport the player between different locations.
Teleport
Instantly moves the player to the designated Spark location when called.
Used to create real-world reflections with shiny items, including gloss, mirrors, and glass within a Chapter.
A Spawn Point Spark defines the location where the player will appear when the Chapter restarts. Without this Spark, the player will spawn at the origin (ground zero, position zero for x and y). By using a Spawn Point Spark, you can specify a custom spawn location for the player. Each Chapter can contain only one Spawn Point Spark.
A Trigger Spark is an invisible Spark, visible only in the Builder and not to the Player, commonly used as a sensor to activate specific Causes. It supports typical Effects and Causes found in most Sparks, such as Collided or Approached Causes, with the added benefit of being hidden from the player’s view. This makes it ideal for creating surprise elements when the player enters a designated area.
Condition
Stopped: Indicates that the timer has been intentionally halted by invoking the “Stop” Cause.
Running: Indicates that the countdown timer has commenced, triggered by the “Start” Cause.
Expired: Indicates that the countdown has reached zero.
Condition
Stopped: Indicates that the timer has been intentionally halted by invoking the “Stop” Cause.
Running: Indicates that the countdown timer has commenced, triggered by the “Start” Cause.
Expired: Indicates that the countdown has reached zero.
Traits
Is Persistent: Sets the "Is Persistent" Trait if it will retain the value. Initial Value: Sets the "Initial Value" of the Datum Traits. Current Value: Set the "Current Value" of the Datum Traits.
Val. Bool
The Datum's value will be retained across sessions, preserving its state or not be retained.
Val. Float
Set the “Initial Value” Trait for the Datum
Val. Float
Set the "Current Value" Trait for the Datum.
Datum
The Datum that will provide the new value to replace the current value of the target datum.
Value
The specified value to be set as the “Current Value.”
Datum
The Datum whose value will be added from the current Datum’s “Current Value”.
Value
Specified amount to increase.
Datum
The Datum whose “Current Value” will be added to the target Datum’s “Current Value”.
Datum
The Datum whose “Current Value” will be used to multiply the target Datum’s “Current Value”.
Value
Specified factor to be multiplied.
Datum
The Datum whose “Current Value” will be used to divide the target Datum’s “Current Value”.
Value
Specified divisor to be divided.
Datum
The Datum whose "Current Value" will be compared to the target Datum’s "Current Value." This Datum provides the reference value for the equality check.
Value
Defines the value to compare against the “Current Value.”
Datum
The Datum whose "Current Value" will be compared to the target Datum’s "Current Value." This Datum provides the reference value for the less-than check.
Value
Defines the value to compare against the “Current Value.”
Datum
The Datum whose "Current Value" will be compared to the target Datum’s "Current Value." This Datum provides the reference value for the greater-than check.
Value
Defines the value to compare against the “Current Value.”
Is Persistent
Determines whether the “Current Value” of the Datum remains unchanged even when the Chapter is reloaded or ended. Enabling this option ensures that the “Current Value” does not reset.
Initial Value
Specifies the starting value of the Datum. The value assigned here serves as the initial value.
Current Value
Represents the current value of the Datum, which can be added, subtracted, multiplied, divided, or compared during runtime.
Traits
Maximum Items: Sets the "Maximum Items" Trat for the Inventory Spark
Val. Int
Allows to change the value to increase or decrease the inventory's item limit as needed.
Traits
Require Unique?: Toggles unique selection. If true, each value is chosen only once per cycle; if false, values can repeat. Auto Reset History?: Toggles "Auto Reset History." When enabled, it resets selection history after all values are used. Total Values: Sets the total number of values the Randomizer can choose from. Valid Values: Controls the number of values currently available for selection.
Val. Int
Specified value for setting the "Total Values" and "Valid Values" Traits.
Val. Bool
Toggles the "Require Unique?" and "Auto Reset History? Traits". When checked it is enabled if unchecked it is disabled.
Valid Outputs
Sets the "Valid Values" of the current Randomizer.
Required Unique?
Ensures that each value is selected only once per cycle, preventing repetition until all values have been used. When checked, this enables the "On Last Valid Value" trigger to function.
Auto Reset History?
Automatically resets the selection history when all values have been used, allowing the randomizer to begin a new cycle. This can be useful to restart the sequence without manual intervention.
Total Values
Specifies the total number of possible values the Randomizer can select from. Adjust this to set the range of unique values available for random selection.
Valid Values
Displays the count of values currently available for selection. This number will decrease as values are selected (when "Require Unique" is enabled) and will reset when the "Auto Reset History" option is active or when manually reset
State Id
The new value to set as the state.
State Id
The value to compare with the current state.
Trait
Brightness: Sets the "Brightness" of the Sun Spark. Time of Day: Sets the "Time of Day" of the Sun Spark.
Brightness (Pct: 0 -100)
Controls the intensity of sunlight as a percentage. A value of 0 represents complete darkness, while 100 represents full brightness.
Time of Day (Hrs: 0 -24)
Sets the current hour in a 24-hour format, which can influence the position and angle of the sun in the environment. For example, setting this to 9 represents 9 AM, while setting it to 18 represents 6 PM.
Trait
Loop Audio: The Loop Audio trait of the Spark, determining whether to replay the audio when it finishes.
Val. Bool
Sets the Loop Audio trait to either true (enabled) or false (disabled).
Clip
The audio clip to be played.
State
Play: Set to Play to start the audio when called.
Pause: Set to Pause to temporarily stop the audio.
Stop: Set to Stop to halt the audio playback completely.
Volume
The desired playback volume, with a maximum of 1.
Solo
When checked, this stops all other currently playing audio except this one.
New Channel
These are the available channels to which the audio can be assigned.
Dialog1
Dialog2
Dialog3
Music1
Music2
Music3
SoundFX1
SoundFX2
SoundFX3
Audio Channel
The designated channel for audio playback.
Loop Audio?
Determines whether the audio will repeat after it finishes playing.
Trait
Ambient Brightness: Modifies the "Ambient Brightness" trait of the Sky, setting the intensity of ambient light. Ambient from Sky: Enables or disables the "Ambient from Sky" trait, which uses the sky's color and lighting to influence the ambient light. Set to true (enabled) or false (disabled) to toggle this effect. Exposure: Adjusts the Exposure trait of the Sky, influencing the overall light intensity.
Val. Float
Sets the Loop Audio trait to either true (enabled) or false (disabled).
Ambient Brightness
Modifies the ambient light brightness in the environment. This setting enhances visibility and adjusts the mood by raising or lowering the ambient light intensity.
Ambient from Sky
When enabled, this Trait derives the ambient lighting directly from the sky, creating a more natural and consistent lighting effect that matches the sky’s color and conditions.
Exposure
Adjusts the overall exposure level of the sky. Raising the exposure brightens the scene, while lowering it can create a dimmer, overcast effect.
Color Temperature
Adjusts the light’s warmth or coolness, influencing the overall color tone.
Intensity
Controls the brightness of the light.
Destination
The assigned Spark where the player will teleport into.
Size
Adjusts the range of reflection.