OverNode
Last updated
Last updated
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.
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:
Name | Description |
---|---|
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).
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:
Name | Description |
---|---|
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.