OverNode

Description

The OverNode is the foundation of the Visual Scripting system: responsible for the implementation of a specific functionality, in order to be used to create more complex logic.

An OverNode is responsible for a single function within the execution flow.

Execution

Each node is tied to another and is created with a set of Ports, whose goal is to carry on the information (tied to a specific data type).

There are several types of Ports involved:

NameDescription

Input

Port used to input information into the node.

Output

Port used to output information, processed by the node, to the next node.

Flow

Port used to carry on the execution flow, it outputs a specific kind of information

A node can be connected by clicking an output port. This will create a new Edge, to be dragged and dropped to the input port of the next node.

Note: in order for a Connection between ports to be established there must be compatibility between the ports. While dragging an Edge, in order to simplify the process, the non-compatible end ports will be turned off visually, thus becoming non-interactive.

The OverNodes can be classified into two categories:

  • Flow Nodes: provided with Flow Ports, they are used to link the node directly to the Unity runtime execution flow and propagate it further to the following nodes

  • Plain Nodes: these don't possess Flow Ports, so they can't directly access the execution flow. Instead, they deliver the information "on-demand" (i.e. it processes the information only when another node, tied to it, asks it to).

Visual Representation

Each node inside a graph is represented by a small panel, with a Header part (to the top) and a Body.

The Header contains the following information:

NameDescription

Icon

The Image that represents the type of the component, manipulated by the node

Title

The name of the node involved, each title by itself provides hints to the user about the node's functionality

Flow Ports

If the node is used to build an execution flow, an input/output port is shown

The Body of a node serves as a container for the Input (shown in the left side of the node) and the Output (right side) Ports. Each port is defined by a name and the associated data type.

In addition, a node can contain a certain number of editable fields, to further customize its behaviour.

Last updated