Levels, Blueprints, Components, Graphs, Nodes
Here, for my learning purposes, I have taken info from the Unreal online documents, and bit of my own info, to help me visualize and breakdown most of all the general parts of Blueprints. It's to help me see the relationships between these terms a bit quicker and also may help me to know what to search for in the online documentation or elsewhere if I need more info.
Levels contain everything a player can see and interact with, like environments, usable objects, other characters, and so on. Unreal Engine saves each Level as a separate .umap file, which is why you will sometimes see Levels referred to as Maps.
A Blueprint Class, often shortened as Blueprint, is an asset that allows content creators to easily add functionality on top of existing gameplay classes. Blueprints are created inside of Unreal Editor visually, instead of by typing code, and saved as assets in a content package.
Level Blueprints are used for scripting level-specific events within maps. It's a specialized type of Blueprint that acts as a level-wide global event graph. Each level in your project has its own Level Blueprint created by default that can be edited within the Unreal Editor, however new Level Blueprints cannot be created through the editor interface.
A Component is a piece of functionality that can be added to an Actor. When you add a Component to an Actor, the Actor can use the functionality that the Component provides. Components must be attached to an Actor and can't exist by themselves.
A Graph is a network of nodes that can be connected to one another in order to define the flow of execution for the network. Graphs are the basis for implementing functionality in Blueprints. Each Blueprint can contain one or more graphs, depending on the type of Blueprint, that define the implementation of a particular aspect of the Blueprint. Each graph within a Blueprint can also contain sub-graphs, which are essentially collections of nodes collapsed into their own separate graph. Right-click on the canvas to get a list of functionality.
Event Graphs are the most general type of Blueprint graph. Each new Blueprint Class will contain one Event Graph when it is created, although more can be added. These additional Event Graphs can help to organize your Blueprint networks. Event Graphs generally contain the networks for the gameplay behavior of the Blueprint, with Events, CustomEvents and Input nodes serving to initiate the flow of execution through the Event Graph.
The Construction Script runs following the Components list when an instance of a Blueprint Class is created. It contains a node graph that is executed allowing the Blueprint Class instance to perform initialization operations. This can be extremely powerful as actions like performing traces into the world, setting meshes and materials, and so on can be used to achieve context-specific setup.
Functions are node graphs belonging to a particular Blueprint that can be executed, or called, from another graph within the Blueprint. Functions have a single entry point designated by a node with the name of the Function containing a single exec output pin. When the Function is called from another graph, the output exec pin is activated causing the connected network to execute.
Blueprint Macros, or Macros, are essentially the same as collapsed graphs of nodes. They have an entry point and exit point designated by tunnel nodes. Each tunnel can have any number of execution or data pins which are visible on the macro node when used in other Blueprints and graphs that can call it.
Nodes are premade functions and events that perform actions in response to gameplay events associated with the Blueprint. Nodes contains pins that connect to and from other nodes. On the left side of the Node are input pins. On the right side are output pins. Also, they can have execution pins that connect to other nodes with white lines for order of execution.
