Learn / Documentation / Nodes
General
Navigation
Scene Management
System
Internal

   Activate Loaded Scenes Node

Activates all the Scenes that have been loaded by SceneLoaders and are ready to be activated and then jumps instantly to the next node in the Graph.

It does that by sending the system Game Event ‘ActivateLoadedScenes

When loading a scene, Unity first loads the scene (load progress from 0% to 90%) and then activates it (load progress from 90% to 100%). It’s a two state process.

A scene is ready to be activated if the load progress is at 0.9 (90%). This node activates these scenes (that have been loaded by SceneLoader and that have AllowSceneActivation set to false).

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Sends the system Game Event 'ActivateLoadedScenes'

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Application Quit Node

Exits play mode (if in editor) or quits the application if in build mode

It does that by sending the system Game Event ‘ApplicationQuit‘

ON ENTER NODE

Sends the system Game Event 'ApplicationQuit'

Node

Node

Editor

Editor

Video

   Back Button Node

The Back Button Node enables or disables the ‘Back’ button functionality and jumps instantly to the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Enables/Disables the 'Back' button functionality.

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Enter Node

Is the fist node in a SubGraph to be activated. It activates instantly the next node in the SubGraph.

The next node in the SubGraph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Activates the next node in SubGraph.

Node

Node

Editor

Editor

Video

   Exit Node

Is the last node in a SubGraph to be activated. It activates instantly the next node in the parent Graph.

The next node in the parent Graph is the one connected to the SubGraphNode’s output socket, that referenced the parent SubGraph of this ExitNode.

NOTE: If the SubGraphNode output socket is not connected (in the parent Graph), the UI navigation can get stuck in this node.

ON ENTER NODE

Activates the next node in the parent Graph.

Node

Node

Editor

Editor

Video

   Game Event Node

The Game Event Node sends a game event (string value) and jumps instantly to the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Sends the set Game Event (string value).

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Load Scene Node

Loads any Scene either by scene name or scene build index via a Scene Loader and jumps instantly to the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Creates a Scene Loader that initiates the loading of the Scene with the given settings.

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Portal Node

The Portal Node is a global node that listens for a set game event (string value). When triggered it jumps instantly to the next node in the Graph.

A global node is active as long as its parent Graph is active.

This particular node allows for jumping from one part of the UI flow to another, without the need of a direct connection.

Due to the way it works, this node can also be considered as a ‘virtual connection’ between multiple active Graphs.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Starts listening for Game Events (string values)

ACTIVE STATE

Idle until the set Game Event (string value) is received.

When the set Game Event is received, it activates the next node in Graph.

ON EXIT NODE

Stops listening for Game Events (string values)

Node

Node

Editor

Editor

Video

   Random Node

Picks a weighted random connection in a memory-efficient way.

It does that by picking a random number between 1 and the sum of all the weights (similar to a raffle).

The result is that the higher weighted connections are selected more often than lower weighted ones.

NOTE: At least one output socket should be connected, otherwise the UI navigation can get stuck in this node.

ON ENTER NODE

Selects a random connection using a random weights algorithm.

Then activates the next node in Graph, that corresponds to the selected connection.

Node

Node

Editor

Editor

Video

   Sound Node

Plays a sound or stops, pauses, unpauses, mutes or unmutes all sounds and jumps instantly to the next node in the Graph.

It can play a sound through a Soundy Controller either by using a sound name or a direct reference to an AudioClip, or it can trigger MasterAudio to play a set sound name.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Executes the set sound action (Play, Stop, Pause, Unpause, Mute, Unmute).

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Start Node

Is the fist node in the Graph to be activated. It activates instantly the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Activates the next node in Graph.

Node

Node

Editor

Editor

Video

   SubGraph Node

Activates the referenced SubGraph inside the parent Graph. It allows for endless nesting and helps managing complex UI flow structures.

This node is particularly important as it allows for Graphs to be split in multiple SubGraphs and be easier to manage.

Also a SubGraph can be split into two or more SubGraphs allowing for the creation of very deep and complex UI flows.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Activates the referenced SubGraph.

ACTIVE STATE

Idle until the ExitNode inside the SubGraph is activated.

Then activates the next node in the Graph.

Node

Node

Editor

Editor

Video

   Switch Back Node

The Switch Back Node remembers the source (input) node when going to a target (output) node. After that, when returning from the target (output) node, it goes back to the source node from where it came from.

Example:
The ‘Settings Menu’ node needs to be accessed from different parts of the UI and you need to go back from the area of the UI where you came from.
To do this, set up one or more sources (‘Main Menu’ and ‘Game Menu’ for example) and set the ‘Settings Menu’ as the target.

When you access the ‘Settings Menu’ from the ‘Main Menu’, the Switch Back Node will remember ‘Main Menu’ as the source. And, when returning from the ‘Settings Menu’ (via a ‘Back’ button for example), the UI flow will be redirected to the ‘Main Menu’

When you access the ‘Settings Menu’ from the ‘Game Menu’, the Switch Back Node will remember ‘Game Menu’ as the source. And, when returning from the ‘Settings Menu’, the UI flow will be redirected to the ‘Game Menu’ as this was the last recorded source.

ON ENTER NODE

Connecting from a Source
1. Stores the info about the source node.
2. Activates the target node.

Connecting from the Target
1. Checks to see the last recorded Source (if no record is found, it selects the first connected source)
2. Activates the selected source node.

Node

Node

Editor

Editor

Video

   TimeScale Node

Sets the scale at which the time is passing (it updates Time.timeScale). This can be used for slow motion effects.

It does that either instantly or over a set duration (animated).

The node can wait until the current Time.timeScale value has reached the target value, before activating the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Sets the Time.timeScale value, instantly or over a set duration.

Then, it it's not set to wait for the animation, it activates the next node in Graph.

If it's set to wait for the animation, it will wait until the current Time.timeScale value has reached the target value, before activating the next node in the Graph.

Node

Node

Editor

Editor

Video

   UIDrawer Node

The UIDrawer Node opens, closes or toggles a target UIDrawer (identified by name) and jumps instantly to the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Executes the set action Open/Close/Toggle UIDrawer.

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   UINode

The UINode is the core UI Navigation node. It shows and/or hides UIViews and listens for button events, game events or waits for a set delay before signaling the Graph to activate another node.

ON ENTER NODE

Shows/Hides any set UIViews

ACTIVE STATE

Idle until any output connection trigger becomes active

ON EXIT NODE

Shows/Hides any set UIViews

Output Connection Triggers

  • Button Click – listens for UIButtons OnClick behaviors and reacts only to the button with the set Button Name (category is ignored)
  • Button Double Click –  same as for the Button Click, but it listens for UIButton OnDoubleClick
  • Button Long Click – same as for the Button Click, but it listens for UIButton OnLongClick
  • Game Event – listens for all Game Events and reacts only when the set game event name (string value) is received
  • Time Delay – gets automatically activated after ON ENTER NODE actions are executed and, after the set delay, the output connection is triggered

Node

Node

Editor

Editor

Video

   Unload Scene Node

Tells the Scene Director to unload a Scene either by scene name or scene build index. This will destroy all GameObjects associated with the given Scene and remove the Scene from the SceneManager.

Besides unloading a Scene, the Unload Scene Node can wait until the target Scene has been unloaded before activating the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

ON ENTER NODE

Tells the Scene Director to unload a Scene either by scene name or scene build index.

Then activates the next node in Graph.

Node

Node

Editor

Editor

Video

   Wait Node

It waits for a set Time duration or for a Game Event (string value) or for a Scene to load or for a Scene to unload or for the active scene to change. Then it activates the next node in the Graph.

The next node in the Graph is the one connected to this node’s output socket.

NOTE: If the output socket is not connected, the UI navigation can get stuck in this node.

Wait For

  • Time – waits for a set duration or for a random duration between a min and a max value
  • Game Event – waits for a set Game Event (string value) or any Game Event (any Game Event to be sent)
  • Scene Load – waits for a Scene to load (checking by either its name or build index) or any Scene (any scene to load)
  • Scene Unload – waits for a Scene to unload (checking by either its name or build index) or any Scene (any scene to unload)
  • Active Scene Change – waits for the active Scene to change (checking by either its name or build index) or any Scene (any active scene change)
ON ENTER NODE

Depending on the Wait For it does the following:

TIME - Starts a timer for a set duration (or random duration between min and max values)
GAME EVENT - Start listening for Game Events
SCENE LOAD - Starts listening for SceneDirector.Instance.OnSceneLoaded
SCENE UNLOAD - Starts listening for SceneDirector.Instance.OnSceneUnloaded
ACTIVE SCENE CHANGE - Starts listening for SceneDirector.Instance.OnSceneUnloaded

ACTIVE STATE

Depending on the Wait For it does the following:

TIME - Idle until timer runs out
GAME EVENT - Idle until the set Game Event (string value) is received.
SCENE LOAD - Idle until any or the set Scene (name or build index) is loaded.
SCENE UNLOAD - Idle until any or the set Scene (name or build index) is unloaded.
ACTIVE SCENE CHANGE - Idle until any or the set Scene (name or build index) is activated.

ON EXIT NODE

Depending on the Wait For it does the following:

TIME - Nothing
GAME EVENT - Stops listening for Game Events
SCENE LOAD - Stops listening for SceneDirector.Instance.OnSceneLoaded
SCENE UNLOAD - Stops listening for SceneDirector.Instance.OnSceneUnloaded
ACTIVE SCENE CHANGE - Stops listening for SceneDirector.Instance.OnSceneUnloaded

Node

Node

Editor

Editor

Video