Introduction to Blueprints

Choose your OS:

The Blueprints Visual Scripting system in Unreal Engine is a complete gameplay scripting system based on the concept of using a node-based interface to create gameplay elements from within Unreal Editor. As with many common scripting languages, it is used to define object-oriented (OO) classes or objects in the engine. As you use UE4, you'll often find that objects defined using Blueprint are colloquially referred to as just "Blueprints."

This system is extremely flexible and powerful as it provides the ability for designers to use virtually the full range of concepts and tools generally only available to programmers. In addition, Blueprint-specific markup available in Unreal Engine's C++ implementation enables programmers to create baseline systems that can be extended by designers.

For more detailed overview information about Blueprints, including Blueprint anatomy and a discussion of how Blueprints relate to UE3's Kismet and UnrealScript, see Blueprint Overview .

How Do Blueprints Work?

In their basic form, Blueprints are visually scripted additions to your game. By connecting Nodes, Events, Functions, and Variables with Wires, it is possible to create complex gameplay elements.

Blueprints work by using graphs of Nodes for various purposes - object construction, individual functions, and general gameplay events - that are specific to each instance of the Blueprint in order to implement behavior and other functionality.

Commonly Used Blueprint Types

The most common Blueprint types you will be working with are Level Blueprints and Blueprint Classes.

These are just two of the Types of Blueprints , which also include Blueprint Macros and Blueprint Interfaces .

The Level Blueprint fills the same role that Kismet did in Unreal Engine 3, and has the same capabilities. Each level has its own Level Blueprint, and this can reference and manipulate Actors within the level, control cinematics using Matinee Actors, and manage things like level streaming, checkpoints, and other level-related systems. The Level Blueprint can also interact with Blueprint Classes (see the next section for examples of these) placed in the level, such as reading/setting any variables or triggering custom events they might contain.

Blueprint Classes are ideal for making interactive assets such as doors, switches, collectible items, and destructible scenery. In the image above, the button and the set of doors are each separate Blueprints that contain the necessary script to respond to player overlap events, make them animate, play sound effects, and change their materials (the button lights up when pressed, for example).

In this case, pressing the button activates an event inside the door Blueprint, causing it to open - but the doors could just as easily be activated by another type of Blueprint, or by a Level Blueprint sequence. Because of the self-contained nature of Blueprints, they can be constructed in such a way that you can drop them into a level and they will simply work, with minimal setup required. This also means that editing a Blueprint that is in use throughout a project will update every instance of it.

What Else Can Blueprints Do?

You have read about Level Blueprints and Blueprint Classes, listed below are a handful of examples that can be accomplished with the Blueprint system.

Create Customizable Prefabs with Construction Scripts

Construction_Script.png

The Construction Script is a type of graph within Blueprint Classes that executes when that Actor is placed or updated in the editor, but not during gameplay. It is useful for creating easily customizable props that allow environment artists to work faster, such as a light fixture that automatically updates its material to match the color and brightness of its point light component, or a Blueprint that randomly scatters foliage meshes over an area.

In the Content Examples maps, the long rooms that contain each example (pictured above) are actually a single Blueprint made up of many components. The Blueprint's Construction Script creates and arranges the various Static Meshes and lights according to parameters exposed in the Blueprint's Details panel. With each Content Example map we created, we were able to drop in the demo room Blueprint, set values for the length, height, and number of rooms that would be generated (and a few other options), and have a complete set of rooms ready in moments.

A Blueprint like this can be time-consuming to create initially, but if you know you will use it often, the time saved when building a level and the ease of making changes can make it very worthwhile.

Create A Playable Game Character

Game_Characters.png

Pawns are also a type of Blueprint Class, and it is possible to put together every element you need for a playable character in the Blueprint graph. You can manipulate camera behavior, set up input events for mouse, controller, and touch screens, and create an Animation Blueprint asset for handling skeletal mesh animations.

When you create a new Character Blueprint, it comes with a character component that has much of the behavior needed for moving around, jumping, swimming, and falling built-in, and all that is required is to add some input events in accordance with how you want your character to be controlled.

Create A HUD

Create_HUDs.png

Blueprint script can be used to create a game's HUD as well, which is similar to Blueprint Classes in that it can contain event sequences and variables, but is assigned to your project's GameMode asset instead of being added directly to a level.

You can set up a HUD to read variables from other Blueprints and use them to display a health bar, update a score value, display objective markers, and so on. It is also possible to use the HUD to add hit-boxes for elements like buttons that can be clicked on or, in the case of mobile games, can respond to touch input.

All of the examples pictured above exist in the sample content available with UE4, so if you want to get a closer look, they can be found in the Content Examples, First Person Shooter and Swing Ninja projects.

Blueprint Editors and Graphs

Whether you are building a Level Blueprint or a Blueprint Class, you will be using Blueprint Elements assembled in a Blueprint Editor .

Different types of Blueprint Editor are available depending on the type of Blueprint you are working with. The core feature of most Blueprint Editors is the Graph mode, with its central Graph tab for laying out the network of your Blueprint.

Blueprint Samples and Tutorials

Below are additional resources you can use to learn more about the Blueprint system.

Tags