Blueprint Basic User Guide

Choose your OS:

This page aims to quickly get you started using Blueprints by covering the most basic use cases and commonly used actions.

For more detailed information on Blueprints, refer to the Blueprints Visual Scripting documentation.

Creating Blueprints

There are several methods in which you can create Blueprints, the first is through the Content Browser using the Add New button:

CreateBP_mainFlow.png

  1. In the Content Browser, click on Create Asset Button.

  2. Select Blueprint under the Create Basic Asset section from the menu that appears.

    Additional Types of Blueprints can be created from the Blueprints option under Create Advanced Asset.

  3. Choose a Parent Class for your Blueprint.

    Choose a Parent Class

    See Parent Classes for info on selecting a Parent Class.

After you select your class, a new Blueprint asset will be added to the Content Browser which you can then assign a name.

Basic4.png

Create Blueprint Using Assets

You can also create a Blueprint by Right-clicking on an asset in the Content Browser, then under Asset Actions, selecting the Create Blueprint Using This... option.

Basic8.png

This option is only available for assets that support it - Static Meshes, Skeletal Meshes, Particle Effects, Sound Cues or Sound Waves, etc. If the option is not available for the selected asset, it will appear grayed out.

After selecting the Create Blueprint Using This... option, you will be prompted on where you want to save the Blueprint. After confirming your save location, the Blueprint will automatically open in the Blueprint Editor.

Placing Blueprints in Levels

To place a Blueprint in your level, you can either...

Drag-and-drop it from the Content Browser into your level.

DragAndDropBP.png

Or with the Blueprint selected in the Content Brower, you can Right-click in the level and select Place Actor from the context menu.

RightClickMethod.png

Placing Blueprint Nodes

There are several methods in which you can place nodes while in Graph Mode (see Placing Nodes for more information), this section will show you the most common method as well as how to connect nodes together.

Most of the time when placing nodes, you will use the Context Menu which can be accessed by Right-clicking inside a Blueprint graph.

RightClick1.png

From the menu above, you can expand any category (or sub category) and select the node you wish to add to the graph.

There is also an option in the upper right corner of the window called Context Sensitive that is enabled by default but can be disabled which automatically filters the options presented in the menu based on the current context.

RightClick2.png

As you can see below, when Right-clicking and searching for Animation with Context Sensitive on, you are presented with a filtered list.

RightClick3.png

However, if you un-check Context Sensitive and search for Animation, you are presented with everything related to animation.

RightClick4.png

While Right-clicking in the graph brings up the Context Menu, you can drag off an existing node to access the Context Menu as well.

RightClick5.png

Above, we have a Character Movement Component Reference and by dragging off its out pin, we can add nodes that contextually make sense and are relevant to the node we are dragging off of as seen in the example below.

RightClick6.png

Above we can set the character's Max Walk Speed by searching for Set Max Walk then choosing Set Max Walk Speed from the menu.

Connecting Blueprint Nodes

To connect nodes, drag off one pin and connect it to another pin of the same type (there are some instances where a conversion node will be created, for example, connecting a Float output to a Text input will create a conversion node between the two and automatically convert and connect the two nodes).

Here is a basic connection between two nodes where the input/output pins are of the same type.

BasicConnect.png

And here is an example of a conversion in progress.

ConversionNode.png

Creating Variables

Variables are properties that hold a value or reference an Object or Actor in the world. These properties can be accessible internally to the Blueprint containing them, or they can be made accessible externally so that their values can be modified by designers working with instances of the Blueprint placed in a level.

You can create variables for your Blueprints from the MyBlueprint window, by clicking on the Add Button plus_Button.png on the variable list header myblueprint_variable.png.

Once you have created a variable, you will need be able to define the properties of the variable.

Creating Variables

Creating a variable inside a Blueprint can be achieved by following the steps below.

  1. Create a Blueprint and open it up to the Graph tab.

  2. Create a new variable from the MyBlueprint window, by clicking on the Add Button plus_Button.png on the variable list header myblueprint_variable.png.

    MyBlueprintPane_createVar.png

  3. A new variable will be created, prompting you to enter a name for it.

    HT5.png

    Enter a name for your Blueprint, then proceed to the Details panel to adjust the properties of the variable.

  4. In the Details panel, there are several settings that can be used to define how your variable is used or accessed.

    HT6.png

    In order to set the Default Value for a variable, you must first Compile the Blueprint.

Option

Description

Variable Name

The name of the variable.

Variable Type

Set the Variable Type via the dropdown menu and determine if the variable is an Array or not.

Editable

Whether the variable is publically editable on instances of the Blueprint.

Tooltip

Extra information about this variable, shown when the cursor is over the variable.

Expose on Spawn

Should the variable be exposed as a pin when spawning the Blueprint.

Private

Should the variable be private (derived Blueprints cannot modify it).

Expose to Matinee

Should the variable be exposed for Matinee to modify it.

Config Variable

Allows the variable to be set from a config file.

Category

Allows you to categorize the variable by a label given. Variables will be sorted by their label.

Replication

Should this variable be Replicated over the network or not.

There are some serialization options that can be defined by expanding the Details panel as well.

HT37.png

Here you can set whether or not the variable is serialized and is zero-filled at load with the Transient option. You can also set whether or not the variable is serialized for saved games with the SaveGame option.