Skip to main content

Logic Designer

Logic Designer is a node-based visual scripting editor that provides users with the tools to experiment with new ideas and create reusable, performant gameplay scripts.

Graphs​


The gameplay logic is contained in a Logic Designer graph, which is a collection of connected nodes. Nodes typically have one or more pins which represent the inputs and outputs of the node as the graph is executed from left to right.

logic designer graphs

The type of Node is denoted by the color of the header text, as defined in LogicDesignerUtils.cpp.

TypeColorDescription
VariableBlueNodes that operate on variables.
EventGreenNodes for sending/receiving events.
FunctionRedNodes that perform a single function with pass-through execution.

There are several types of pins, represented by both the shape and color, which indicate the type of data that will be passed into and out of a node.

Triangle pins indicate flow inputs and outputs and are all grey. Flow pins indicate the flow of execution from left to right. If a line on a given node has a flow input and flow output of the same name, the execution will pass-through the node as soon as the input action is complete (on the same frame).

Event pins are a special type of flow output pin and you can think of them as entry points into a graph; initiating the flow of execution based on an in-game event such as the player entering a trigger volume or a timer ticking. Regular flow pins are executed immediately, event pins are queued up and batch-processed once per frame.

logic designer graphs event pins

Variable pins control the flow of data from left to right. Circles denote single variable inputs and outputs, and squares denote single-typed variable lists. The type of variable is also denoted by the color of the pin, as defined in LogicDesignerUtils.cpp.

TypeColor
BooleanOrange
IntegerLight Blue
FloatGreen
3 Dimensional VectorPurple
RGBA colorLight Purple
StringRed
AngleDark Green
EntityClassDark Purple
EntityPink
TimeYellow
Music Track IDDark Purple