List of all Nodes
Here you will find an alphabetical list of all Narramancer nodes. We give a brief description of the node as well as its inputs and outputs. There are roughly 130 concrete nodes.
Please use search functionality or the directory on the right to jump to the node you are looking for.
If you're just getting started, you should skip this section for now and learn about Nouns next.
Frequently Used Nodes
AddPropertiesNode
The AddPropertiesNode is used to add a property or properties to a noun instance. It can accept a list of properties and/or multiple property inputs.
AddRelationshipNode
The AddRelationshipNode is used to create relationships between instances. It takes two instances, a relationship, and a designation for which one is the source or destination.
AndNode
The purpose of the AndNode is to perform a logical AND operation on its input ports. When all connected input ports return true, the output result will also be true. If any connected input port returns false, the output result will be false.
AnyInstancePassesPredicateNode
The AnyInstancePassesPredicateNode is used to process a list of NounInstances and check if any instance passes a specified 'predicate', which is a ValueVerb. The ValueVerb must have the appropriate inputs and outputs. The node has two output ports, one bool which is true if the predicate evaluates to true on any instance in the list and false otherwise, and another for the first instance if there is one.
AreEqualNode
The AreEqualNode is used to compare two objects for equality. The values can be of any type, that type just needs to be chosen using the dropdown menu.
ArithmeticNode
The ArithmeticNode is used to perform basic arithmetic operations on two floating-point numbers, such as addition, subtraction, multiplication, and division.
BoolNode
The BoolNode is used to create a literal bool value.
CallMethodOnAnyTypeRunnableNode
The CallMethodOnAnyTypeRunnableNode can call (almost) any method on any type of object. This flavor of the 'CallMethod' nodes is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
CallMethodOnAnyTypeValueNode
The CallMethodOnAnyTypeValueNode can call (almost) any method on any type of object. This flavor of the 'CallMethod' nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods. There are other flavors of this node that handle specific types offered for convenience.
CallMethodOnInstanceRunnableNode
The CallMethodOnInstanceRunnableNode can call (almost) any method on a given NounInstance. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic. There are other flavors of this node that handle specific types offered for convenience.
CallMethodOnInstanceValueNode
The CallMethodOnInstanceValueNode can call (almost) any method on a given NounInstance. This nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods.
CallMethodOnPropertyRunnableNode
The CallMethodOnPropertyRunnableNode can call (almost) any method on a given PropertyInstance. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
CallMethodOnPropertyValueNode
The CallMethodOnPropertyValueNode can call (almost) any method on a given PropertyInstance. This nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods.
CallMethodOnRelationshipRunnableNode
The CallMethodOnRelationshipRunnableNode can call (almost) any method on a given RelationshipInstance. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
CallMethodOnRelationshipValueNode
The CallMethodOnRelationshipValueNode can call (almost) any method on a given RelationshipInstance. This nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods.
CallMethodOnScriptableObjectRunnableNode
The CallMethodOnScriptableObjectRunnableNode can call (almost) any method on a given ScriptableObject. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
CallMethodOnScriptableObjectValueNode
The CallMethodOnScriptableObjectValueNode can call (almost) any method on a given ScriptableObject. This nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods.
CallMethodOnStatRunnableNode
The CallMethodOnStatRunnableNode can call (almost) any method on a given StatInstance. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
CallMethodOnStatValueNode
The CallMethodOnStatValueNode can call (almost) any method on a given StatInstance. This nodes is a ValueNode, meaning the method will execute when any of its output values are requested. Use this node for 'getter' methods.
CallStaticMethodRunnableNode
The CallStaticMethodRunnableNode can call (almost) any static method. This node is Runnable, meaning it will execute the method when its turn in the chain comes up. Use this node to use methods that 'set' a value or perform logic.
ChoiceNode
A companion to the OfferChoicesNode, the ChoiceNode represents a single choice that can be offered to the player.
A screenshot of an OfferChoicesNode and two connected ChoiceNodes.
The RunnableNode connected to the Choice Node that is selected by the player is the one that will then be run by the system.
The Choice Node has various options that affect how it is displayed. If Enabled is set to false then the option will not be displayed at all UNLESS Display When Disabled is set to true, in which case it will be displayed but in a disabled style.
ChooseFloatNode
The ChooseFloatNode takes in two float values and chooses between them based on a boolean condition, returning the appropriate one.
ChooseIntNode
The ChooseIntNode takes in two int values and chooses between them based on a boolean condition, returning the appropriate one.
ChooseObjectNode
The ChooseObjectNode takes in two values of any type and chooses between them based on a boolean condition, returning the appropriate one.
ChoosePrioritizedBranchNode
The ChoosePrioritizedBranchNode can be used to continuously consider conditional logic and run one of several runnable chains based on which one is highest priority. It depends on one or more PrioritizedBranchNodes being connected to it, which each have a boolean condition and a chain of RunnableNodes.
When running, the ChoosePrioritizedBranchNode will run an update after some amount of time (determined by the Refresh Delay value in milliseconds). During this update, each connected PrioritizedBranchNode will be evaluated, from top to bottom. The first one with a condition that evaluates to true will be run. If a branch was already running, and a higher branch becomes true, the running branch is stopped so the new branch can run.
Additional runnable connections are provided on the ChoosePrioritizedBranchNode which will run under their specific conditions:
- Run Node on all False - the connected node will run if all branches evaluate to false. It is common to simply connect this node back around to to the ChoosePrioritizedBranchNode itself, creating a loop.
- Run Node on Branch Completed - the connected node will run if the currently highest priority branch runs out of nodes to run. It is common to simply connect this node back around to to the ChoosePrioritizedBranchNode itself, creating a loop.
- Run Node on Cancel - the connected node will run if the ChoosePrioritizedBranchNode is interrupted/canceled. This can happen if the ChoosePrioritizedBranchNode is itself on a branch of another ChoosePrioritizedBranchNode. Use this connection to run clean up or stop logic that might not otherwise happen.
ChooseRankedWeightedActionNode
The ChooseRankedWeightedActionNode is used to select a random action from a list of actions based on their weights, and execute the chosen action in the game flow. The node takes in a NounInstance, which is conceptually the thing taking the action.
The ChooseRankedWeightedActionNode is an implementation of a Game AI concept we going to call Ranked Decision Utility Theory. Each action in the list is a possible action the noun can take. At the time when we choose an action, each one is evaluated and given a 'rank' (int value) and a 'weight' (float value). These values can be static or determined by a ValueVerb. Once all actions have had their rank and weight calculated, one is chosen based on the following steps:
- Actions with a weight of zero are discarded.
- The highest rank among actions is calculated.
- Actions with a rank lower than the highest rank are discarded.
- One action is randomly selected based on each ones weight, giving higher probability to higher weights.
Each action must have an ActionVerb which is the Effect that that action has when run. The Effect ActionVerb of the chosen action (if there is one) is run.
ChooseSpriteBasedOnFloatNode
The ChooseSpriteBasedOnFloatNode can be used to select from a given set of sprites based on a float value. Each sprite is assigned a range (min and max). This node can be used to choose which sprite to display based on a character's stat.
ChooseSpriteBasedOnPropertyNode
The ChooseSpriteBasedOnPropertyNode can be used to select from a given set of sprites based on a NounInstance's properties. Each sprite is associated with a property. The first pairing where the given NounInstance has the property is selected and its sprite is returned.
ClampFloatNode
The ClampFloatNode is used to limit the value of a float within a specified range, using Mathf.Clamp().
CommentNode
The CommentNode is used to add comments or other information to a graph. It does not have inputs or outputs and does not run. It is simply a box where you can add text. It supports resizing.
CompareFloatNode
The CompareFloatNode is used to compare two float values and return a boolean result based on the specified comparison type.
ConcatStringsNode
The ConcatStringsNode is used to concatenate multiple input strings into a single string output.
ConditionalNode
The ConditionalNode is used to create a flow-based decision based on a boolean condition. This node has an input port for the condition and two output ports for actions depending on whether the condition is true or false.
ConstructObjectNode
The ConstructObjectNode is used to create an object of any given type. If the type has primitive values, this node exposes them for assignment.
CreateInstanceNode
The CreateInstanceNode is used to create a new instance of a Noun. It can also optionally spawn a new GameObject using a spawner, if provided.
DebugLogNode
The DebugLogNode is used to print the given message using Unity.Debug.Log().
DebugLogObjectNode
The DebugLogObjectNode is used to log the value of an input object to the console using Unity.Debug.Log().
DestroyGameObjectNode
The DestroyGameObjectNode destroys a given GameObject. It will also unassign the GameObject from its NounInstance, if there is one.
DestroyInstanceNode
The DestroyInstanceNode is used to destroy a NounInstance, removing it from the list of instances and deleting its associated GameObject.
ExposeObjectNode
The ExposeObjectNode is used to expose an object's properties and fields, allowing you to access their values and use them as inputs for other nodes.
FilterInstancesByPredicateNode
The FilterInstancesByPredicateNode is used to filter a list of noun instances in a flow-based based on a predicate. The predicate is a ValueVerb appropriate inputs and outputs. The output is a list of the NounInstances that pass the given predicate, if there are any.
FindChildTransformNode
The FindChildTransformNode is used to find a child transform given a GameObject based on the specified name. It also provides that child's game object and world position for convenience.
FindGameObjectWithNameNode
The FindGameObjectWithNameNode is used to find and return a GameObject with a specific name in the scene during gameplay.
FindGameObjectWithTagNode
The FindGameObjectWithTagNode is used to find and return a GameObject with a specific tag in the Unity scene during runtime.
FloatLiteralNode
The FloatLiteralNode creates a literal float value.
FloatToIntNode
The FloatToIntNode is used to convert a float value into an integer value. The value is rounded.
ForLoopNode
The ForLoopNode is used to create a 'for loop', executing the connected RunnableNodes a number of times based on the starting and ending values.
FormatStringNode
The FormatStringNode is used to create a formatted text string. It takes the input text and replaces any placeholders (enclosed in curly braces) with the corresponding values from other nodes connected as inputs based on the input's name. That is, if there is an input with the name 'foo', any occurance of the term '{foo}' in the text value will be replaced with the value of the foo input.
GameObjectDistanceCheckNode
The GameObjectDistanceCheckNode is used to compare the distance between two GameObjects, comparing them based on LessThan, GreaterThan, or Approximately.
GetBlackboardVariableNode
The GetBlackboardVariableNode is used to retrieve a value from a Blackboard based on a string key. The type of the value must be specified. The blackboard used is the one attached to the current Verb. To get a blackboard value from a NounInstance, see GetInstanceBlackboardVariableNode.
GetCameraNode
The GetCameraNode is used to obtain the camera. Its transform and world position are also provided for convenience.
GetComponentNode
The GetComponentNode is used to obtain a component from a given GameObject in Unity, either direct or by including all descendants. The type of the component must be given.
GetDisplayNameNode
The GetDisplayNameNode returns a NounInstance's display name, which defaults to the name given to the asset if a display name has not been assigned.
GetFlagNode
The GetFlagNode is used to get the current value of a given flag.
GetInstanceBlackboardVariableNode
The GetInstanceFromGameObjectNode is used to retrieve a value from a NounInstance's Blackboard based on a string key. The type of the value must be specified. To get a blackboard value from the Verb see GetBlackboardVariableNode.
GetInstanceFromGameObjectNode
The GetInstanceFromGameObjectNode is used to retrieve the corresponding NounInstance from a given GameObject (if there is one). In order to get the GameObject from a NounInstance see GetInstanceGameObjectNode.
GetInstanceGameObjectNode
The GetInstanceGameObjectNode is used to retrieve the corresponding GameObject from a given NounInstance (if there is one). In order to get the GameObject from a NounInstance see GetInstanceFromGameObjectNode.
GetInstanceNode
The GetInstanceNode is used to retrieve the corresponding NounInstance from a given NounScriptableObject. If (for some reason) there are multiple NounInstances created from the NounScriptableObject, only the first one is returned.
GetInstancesNode
The GetInstancesNode is used to retrieve all NounInstances and provide them as a list. If there are any elements in the list of 'Must Have Properties' then the NounInstances returned will be limited to those have each have all of the given properties.
GetInstanceSpriteNode
The GetInstanceSpriteNode is used retrieve a Sprite value from a given NounInstance (specifically the instances Blackboard).
GetNextLocationInPathNode
The GetNextLocationInPathNode can be used to traverse a given set of Nouns that are connected by a given relationship, find a path from a starting noun to a destination noun, and return the next step in the path.
GetPropertiesNode
The GetPropertiesNode returns all properties of a given instance.
GetPropertyModifierNode
The GetPropertyModifierNode is used to get the property modifier of a PropertyInstance object based on its type.
GetPropertyNamedValueNode
The GetPropertyNamedValueNode is used to access a Named Value on a PropertyInstance. Named Values are similar to variables, but they are assigned on a PropertyScriptableObject and cannot be changed during runtime.
GetPropertyNode
The GetPropertyNode is used to retrieve a property instance from a NounInstances in the Narramancer system.
GetRelationshipNode
The GetRelationshipNode is used to get a relationship between two instances.
GetRelationshipsNode
The GetRelationshipsNode returns a list of all relationships with the given type from a given instance.
GetStatNode
The GetStatNode is used to get a stat from a given NounInstance, providing outputs for whether the noun has that stat (boolean), the number value of the stat (float), and the number value of the stat as a percentage (for convenience, only applicable if the stat has set min and max values).
GetTransformNode
The GetTransformNode is used to get the Transform of a given GameObject.
GetVariableNode
The GetVariableNode is used to get the value of a given variable. Variables can come from three scopes: either the Global scope, the Scene scope, or the Verb scope.
- Global variables are defined using theNarramancer Window.
- Scene variables come from a Narramancer Scene component.
- Verb variables correspond to the current Verb's inputs.
See also the SetVariableNode.
InequalityNode
The InequalityNode performs an inequality comparison between two float values, either ApproximatelyEqualTo, GreaterThan, or LessThan. Notice that GreaterThanOrEqualTo and LessThanOrEqualTo are NOT provided, do to the fact that we're comparing float values.
IntArithmeticNode
The IntArithmeticNode is used to perform arithmetic operations on two integer values, ither addition, subtraction, multiplication, or division.
IntInequalityNode
The IntInequalityNode performs an inequality comparison between two int values, either ApproximatelyEqualTo, GreaterThan, GreaterThanOrEqualTo, LessThan, or LessThanOrEqualTo.
IntLiteralNode
The IntLiteralNode is used to create an integer literal.
IntToFloatNode
The IntToFloatNode is used to convert an integer value into a float value.
IsFlagRaisedNode
The IsFlagRaisedNode returns true if the given flag is raised.
IsNotNullNode
The IsNotNullNode is used to check if an object is not null.
ListAnyNode
The ListAnyNode returns true if the given list has one or more elements in it. The type of elements must be assigned.
ListAverageNode
The ListAverageNode is used to calculate the average value of elements within a list. The node takes an input list, processes each element using a predicate (ValueVerb), and calculates the average value of these elements.
ListChooseOneNode
The ListChooseOneNode randomly selects a single element from a list. The type of elements must be assigned.
ListContainsNode
The ListContainsNode returns true if the given element is contained in the given list, and false otherwise.
ListCountNode
The ListCountNode is used to count the number of elements in a list. The type of elements must be assigned.
ListFilterNode
The ListFilterNode is used to filter elements in a list based on a predicate. A ValueVerb must be assigned as the predicate with the appropriate inputs and output (one boolean). The resulting list will be all elements from the input list that passed the predicate. The type of elements must be assigned.
ListFirstNode
The ListFirstNode returns the first element out of the given list.
ListForEachNode
The ListForEachNode iterates over a given list and runs the connected RunnableNode for each one.
ListOrderNode
The ListOrderNode is used to sort a list based on a predicate and returns the sorted list as output.
ListSelectNode
The ListSelectNode is used to select or transfrom elements from a a given list based on a predicate.
ListSubtractNode
The ListSubtractNode is used to subtract elements from one given list from another list.
ListSumNode
The ListSumNode is used to calculate the sum of a list of elements. The value of each element is determined by the given predicate (ValueVerb).
ListUnionNode
The ListUnionNode performs a union on the two given lists. Additional elements can also be attached individually to the 'elements' port that will also be added to the resulting list. The operation is specifically a union, meaning that each unique element will only appear at most once in the output list.
LoadAssetFromResourcesNode
The LoadAssetFromResourcesNode is used to load assets from the Unity Resources using a string value path.
MakeColorListNode
The MakeColorListNode is used to create and output a list of colors.
MakeListNode
The MakeListNode is used to create and output a list of ScriptableObjects. The type of the elements in the output list must be assigned (and that type must extend from ScriptableObject).
MapTo2DTableNode
The MapTo2DTableNode maps two input float values (x and y) to a corresponding float value on a 2D table. The min and max values of the table can be manipulated to create a gradient or vector field.
MapToCurveNode
The MapToCurveNode takes an input float value and maps it to an output value using the provided AnimationCurve.
ModifyStatNode
The ModifyStatNode is used to modify a stat value for a given NounInstance. It allows you to increase, decrease, or set a specific stat's value, with optional constraints.
MultiplyFloatsNode
The MultiplyFloatsNode is used to multiply multiple float values together and output the resulting product. Any number of values can be connected to the node's input port.
NotNode
The NotNode is used to invert the value of its input, returning the 'not' value.
OfferChoicesNode
The OfferChoicesNode displays any connected ChoiceNodes to the player as buttons and waits for them to select one.
A screenshot of an OfferChoicesNode and two connected ChoiceNodes.
The Offer Choices Node can have any number of Choice Nodes connected to it.
OfferObjectsAsChoicesNode
The OfferObjectsAsChoicesNode is used to present a list of choices to the player, enabling them to select an object or value from the list. When the player selects a choice, the associated action is executed, and control is passed to the next node in the flow.
OrNode
The OrNode is used to perform an OR logic operation in a flow-based system for game flow and logic called Narramancer. Any number of values can be connected to the node's input port and the result is true if any of the inputs are true, or false if all inputs are false.
OutputNode
The OutputNode is only applicable to ValueVerbs and is used to assign the verb's output values.
ParallelNode
The ParallelNode is used to create parallel execution flow by running all connected RunnableNodes simultaneously.
PlayAnimationNode
The PlayAnimationNode is used to trigger a Unity AnimationClip on a Unity Animation component.
PlaySoundNode
The PlaySoundNode is used to play an audio clip using a provided AudioSource or finding one if it's not available.
PrintTextNode
The Print Text Node is a RunnableNode that will display narrative text to the player.
A screenshot of a PrintTextNode.
The text can either be typed into the text editor field OR given as an input by connecting the text input port.
A Text Printer can also be given, which will determine the GameObject that receives the text, but if none is set then the first one found in the scene will be used.
The text editor field supports rich text tags, and provides convenience buttons for added tags around selected text. The R button will enable or disable the rich text being displayed in the editor. The B button will add (or remove) bold tags around the selected text. The I button will add (or remove) italic tags around the selected text. The C button will add (or remove) color tags for the color currently selected by the color picker around the selected text.
The Print Text Node can also be resized by selecting the node and dragging the bottom right corner.
The Print Text Node also allows for dynamic terms within the text using inputs. Use the ‘Add New Input’ button to create an input for any given type. Give the input a name, then use that name wrapped in curly brackets within the text to have that term replaced with the string representation of the input value.
A PrintTextNode with one dynamic input named 'characterName'.
The example given in the above figure will result in the text output to be “Hello, Samuel!” He said.
PrioritizedBranchNode
Used by the ChoosePrioritizedBranchNode, the PrioritizedBranchNode represents a possible prioritized branch that can be chosen if it's input condition is true.
RaiseFlagNode
The RaiseFlagNode is used to raise the given flag.
RandomFloatNode
The RandomFloatNode generates a random float value within a specified range.
RandomNextNode
The RandomNextNode randomly selects and runs one of its connected RunnableNodes.
RemoveFlagNode
The RemoveFlagNode is used to 'remove' a flag, meaning the flag is no longer raised.
RemovePropertiesNode
The RemovePropertiesNode is used to remove a property or properties from a NounInstance. It accepts a list of PropertyScriptableObject instances, which represent the properties to be removed.
RemoveRelationshipNode
The RemoveRelationshipNode is used to remove relationships between NounInstances.
RollNode
The RollNode is used randomly run one of the two connected RunnableNodes. A 'roll' is performed, choosing a random float value between 0.0 and 1.0. If the value is higher than the given threshold than the top chain is taken, otherwise the bottom.
RootNode
The RootNode is the starting point for ActionVerbs.
RouteNode
The RouteNodes are provided for organization. They simply consolidate or reroute RunnableNode connections.
RunActionVerbForDurationNode
The RunActionVerbForDurationNode is similar to RunActionVerbNode, but will cancel/interrupt the ActionVerb after the given duration.
RunActionVerbNode
The RunActionVerbNode is used to run an ActionVerb.
RunActionVerbWhileConditionIsTrueNode
The RunActionVerbForDurationNode is similar to RunActionVerbNode, but only if the given condition evaluates to true and will cancel/interrupt the ActionVerb if the condition becomes false.
RunValueVerbNode
The RunValueVerbNode executes the given ValueVerb.
SelectInstancesByPredicateNode
The SelectInstancesByPredicateNode is used to select NounInstances based on a predicate (ValueVerb).
SequenceOfNodesNode
The SequenceOfNodesNode allows you to define a series of RunnableNodes that should be executed one after another in the order they are positioned vertically.
SetBlackboardVariableNode
The SetBlackboardVariableNode is used to set a variable in the Blackboard based on a string key.
SetFlagNode
The SetFlagNode set the given flag to the given value. Setting a flag to 1 or more is the same as 'raising' it, setting it to 0 is the same as 'removing' it.
SetGameObjectActiveNode
The SetGameObjectActiveNode sets whether a given GameObject is active or not.
SetImageSpriteNode
The SetImageSpriteNode takes in a Unity.Image and assigns the given sprite to it.
SetInstanceBlackboardVariableNode
The SetInstanceBlackboardVariableNode is used to assign a value to a NounInstance's blackboard.
SetInstanceGameObjectNode
The SetInstanceGameObjectNode is used to assign the given GameObject to the given NounInstance, creating a two way connection.
SetTextNode
The SetTextNode assigns the text value of a Unity Text component.
SetVariableNode
The SetVariableNode is used to assign the value of a given variable. Variables can come from three scopes: either the Global scope, the Scene scope, or the Verb scope.
- Global variables are defined using theNarramancer Window.
- Scene variables come from a Narramancer Scene component.
- Verb variables correspond to the current Verb's inputs.
See also the GetVariableNode.
SpawnNode
The SpawnNode is used to spawn a GameObject using a SerializedSpawner.
StartTimerNode
The StartTimerNode starts a timer for the given number of seconds. It does not halt, and immediately allows the next RunnableNode to execute. Other nodes can then use the bool outputs of the StartTimerNode to determine if the timer is completed or not.
StopNodeRunnerNode
The StopNodeRunnerNode is used to stop and reset the execution of a node runner.
StringLiteralNode
The StringLiteralNode is used to create a string.
SumFloatsNode
The SumFloatsNode is used to sum multiple float values. Any number of values can be connected to the node's input port.
SwitchOnIntNode
The SwitchOnIntNode selects a connected RunnableNode based on an input int value.
SwitchOnPrimitiveNode
The SwitchOnPrimitiveNode is used to choose one element (of a given primitive type) when given a corresponding element (of a separate primitive type). It does this using a predefined list of 'pairings'.
ToStringNode
The ToStringNode is used to convert any object into a string representation.
TranslateGameObjectNode
The TranslateGameObjectNode is used to translate a GameObject. It allows you to move it by duration, speed, or immediately based on user-defined values. The GameObject MUST have SerializableTranform component attached to it.
TweenGameObjectRotationNode
The TweenGameObjectRotationNode is used to tween the rotation of a GameObject. The GameObject MUST have SerializableTranform component attached to it.
UnityObjectNode
The UnityObjectNode allows you to reference a UnityObject, such as a ScriptableObject, within a Verb.
WaitNode
The WaitNode creates a pause for the given duration.
WaitUntilNode
The WaitUntilNode waits until a specific condition is met before continuing the execution of other nodes. The refresh delay determines (in milliseconds) how often the condition should be checked for changes. When the condition becomes true, the node will resume the execution of the following nodes in the flow.