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.
The type of Node is denoted by the color of the header text, as defined in LogicDesignerUtils.cpp.
| Type | Color | Description |
|---|---|---|
| Variable | Blue | Nodes that operate on variables. |
| Event | Green | Nodes for sending/receiving events. |
| Function | Red | Nodes 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.
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.
| Type | Color |
|---|---|
| Boolean | Orange |
| Integer | Light Blue |
| Float | Green |
| 3 Dimensional Vector | Purple |
| RGBA color | Light Purple |
| String | Red |
| Angle | Dark Green |
| EntityClass | Dark Purple |
| Entity | Pink |
| Time | Yellow |
| Music Track ID | Dark Purple |