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:
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:
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.