Blueprints provide a visual approach to a scripting language. As such, the system shares many of the nuances of a standard written scripting language, such as data typed variables, arrays, structs, etc. Execution flow also works as it does in a typical scripting language, although Blueprints require explicit linear execution for each node. Each of the pages below go into more detail about different variable types, working with those variables, and execution of nodes within the graph.
Variables
Variables can be created in a variety of different types, including data types such as Boolean, integer, and float. They are color-coded for easy identification within your Blueprint. Blueprint variables can also be reference types for holding things like Objects, Actors, and Classes.
Execution Flow
In Blueprints, the first node to execute is an event, and then execution flows through the white execution wire from left to right. You can visualize the execution flow while your game is running in the editor, which can help with debugging. Data also flows through wires colored to match the variable types. Input pins are evaluated when the node executes, tracing the data wires back from right to left until the final result is calculated and supplied to the node.
Nodes with execution pins (impure nodes) store the values of their output pins when they execute, while nodes without execution pins (pure nodes) reevaluate their outputs every time a node connected to their outputs executes.
Arrays & Structures
Arrays and structures are collections of multiple data types. They are available for more complex systems, and help with keeping like information together and streamlining processing of larger amounts of information.
Advanced Containers
As of Unreal Engine, version 4.15, Blueprint Sets and Maps have both been added to the Blueprint Application Programming Interface (API). Although these containers offer some exciting opportunities for developers to get creative with how they store and access data, these containers are meant for those users who have an advanced level of expertise with Blueprints. Oftentimes, the container of choice will be Blueprint Arrays, but there are times when associative containers (such as Maps and Sets) can help you do some fun and exciting things with your in-game data.