Lumberyard
Legacy Reference

Using Flow Graph Nodes

Flow Graph is deprecated and will be removed in a future version of Lumberyard. Learn about Script Canvas, Lumberyard's new visual scripting environment.

This topic references tools and features that are legacy. If you want to use legacy tools in Lumberyard Editor, disable the CryEntity Removal gem using the Project Configurator or the command line. To learn about the latest features, see the Amazon Lumberyard User Guide.

Nodes can represent level entities (entity node) or actions (component node) that may perform a specific action on a target entity. A node is represented in Flow Graph as a box with inputs and outputs.

Node Input/Output Ports

A node consists of input ports on the left side for receiving information and output ports on the right side for transmitting information. Output ports are activated depending on the function of the node. Ports can have the following different data types.

Node Port Data Types

Data Type Color Description
Any n/a Unspecified, any data type can be received
Boolean Blue True or false value
EntityID Green/Red Value that uniquely identifies any entity in a level
Float White Floating-point 32-bit value
Integer Red Positive or negative 32-bit number
Uint64 n/a Positive or negative 64-bit number
String Turquoise Array of characters used for storing text
Vec3 Yellow 3D vector consisting of three floating-point values. Used for storing positions, angles, or color values
Void Green Used for ports that do not accept any value but are instead triggered to pass the flow of control through a flow graph.

Differing colors for node backgrounds and links indicate the following:

  • Nodes with a red background and a yellow title bar are debugging nodes and are not functional in release builds.

  • Links that connect debugging nodes are yellow.

  • Dotted links indicate they are disabled (by right-clicking them)

Values whose data type don't match the input port data type are automatically converted to match the type of the port connected to, if possible. Any output port can be connected to any input port, no matter what data type. An integer with the value 1 can be fed in a Boolean input port and converted to a True value to match the data type of the port. For some component nodes, there is an input port at the top of the entity that is used for setting the target entity of the node.

Note

Mixing node port types or data types can result in unexpected behavior. For example while a Math:SetColor node input port is a Vec3 data type, it treats input from a Vec3:SetVec3 node differently than from a Math:SetColor node, both of which output a Vec3 data type. While the port types for both nodes are vector, the Vec3:SetVec3 are a group of three floating-point values whereas the Math:SetColor data type are a group of colors that range from 0-255.

Adding Entity Nodes

Entity nodes require that a level entity first be selected. To add an entity node, select an entity and open the graph where you want to add the entity. Next, open the graph context menu by right-clicking the main editing pane.

To add an Entity node

  1. In the left-side Flow Graphs tree, expand Entities\fg and select the applicable entity.

  2. Right-click anywhere in the graph pane and click Add Selected Entity.

  3. Or, right-click anywhere in the graph pane and click Add Graph Default Entity, which always adds the entity to the flow graph to which it is attached.

Adding Component Nodes

Component nodes can be added from within the graph and don't require any selected entity. There are three ways to add these nodes, the context menu, the component node list window and the QuickSearchNode (keyboard shortcut: Q).

To add a new component node, open the context menu by right-clicking the main editing pane, and then select Add Node. A long list of sub-folders are displayed, and a node can be selected from any directory. Select Entity to open the folder with the entity-related component nodes. Select EntityPos to complete the procedure.

To add a Component node

  • Right-click anywhere in the graph pane, click Add Node, and select a node from the list.

Managing Nodes

You can easily move, copy, edit, and delete Flow Graph nodes as follows. All links between selected nodes are also moved when the nodes are moved and automatically rearrange themselves.

To move a node

  1. Click and drag the node on the graph pane. Multiple nodes can be moved by holding down the Ctrl key and clicking the applicable nodes.

  2. Or, use the mouse to draw a box around all the applicable nodes that need to be moved.

To copy a node

  1. Right-click the node, click Copy, then click Paste at the desired location in the graph pane. Click Paste With Links to also copy all connected links.

  2. Or, click the node, press Ctrl+C, then press Ctrl+V at the desired location.

To edit a node

There are two ways to edit a node's properties.

  1. Double-click the applicable node input and change the property.

  2. Or, change the property as listed under Inputs in the right-side panel of Flow Graph Editor.

To delete a node

There are two ways to delete a node. Once a node has been deleted, all the connected links are also automatically removed.

  1. Right-click the node and click Delete.

  2. Or, click the node and press the keyboard Delete key.