Unreal Engine 4 Quick Start Guide

Use this Unreal Engine 4 Quick Start Guide to start learning how to make video games right now! Click on an image to enlarge.

Getting Started

Basic Concepts

Actor Types

Level Editor

Blueprints

Unreal Engine 4 Quick Start Guide
Unreal Engine 4 Quick Start Guide

Getting Started

This first part of the Unreal Engine 4 Quick Start Guide will teach you the history of the Unreal Engine, how to register an account, and how to download and install the Engine.

History of the Unreal Engine

In 1998, the Unreal Engine. developed by Epic Games, made its debut. The first game developed for it was the first-person shooter Unreal, which lent its name to the engine. Epic Games released Unreal Tournament the following year. They released Unreal Engine 2 in 2001 and Unreal Engine 3 in 2004. In 2009, they released a lightweight, free version of UE3 called the Unreal Development Kit. Epic first released Unreal Engine 4 in 2012,  then released the latest version (4.14) in November 2016.

The Unreal Engine has developed many successful game franchises including Batman: Arkham Asylum, Borderlands, Gears of War, Mass Effect, Bioshock, Rainbow Six, Splinter Cell, XCOM, and many more.

Unreal Engine Licensing Model

The Unreal Engine is free to download and use, but if you make a certain amount of money from a game created on it, you must pay a percentage of that money to Epic Games. If a game makes more than $3000 in a single quarter of a year, the royalty fee is 5% of any sales past that $3000 mark.

Epic Games Registration

To download and install Unreal Engine 4, you will need to register an account with Epic Games. Go to https://unrealengine.com and click on the blue button that says “Get Unreal.” Fill out the form that appears and click “Sign Up.” You will then need to agree to the End User License Agreement.

Epic Games Registration Form
Epic Games Registration Form

Download & Installation

Once you complete registration, you can download the installer for the Epic Games Launcher, which, in turn, can download and install Unreal Engine.

  1. Click the Download button and open the .msi file that downloads.
  2. Choose a folder path and click “Install.”
  3. With it open, login with your registration info
  4. Click on the yellow “Install Engine” button in the Unreal Engine tab
  5. If you accept the EULA, the Launcher will download and install the Engine
  6. Click the yellow Launch button to launch Unreal Engine
Install Engine button
The Install Engine button

 

Basic Concepts

This second part of the Unreal Engine 4 Quick Start Guide will help you get continue your quest to learn Unreal Engine 4 by teaching you about projects, Levels, and Actors.

Projects

A project in the Unreal Engine is the “container” that holds all the data for each game. Each game is stored in a separate project.

By default, when you open Unreal Engine, it will first launch the Unreal Project Browser. The Unreal Project Browser has two tabs – “Projects” where you can open your existing projects, and “New Project” where you can create a new blank project or create a new project based on a template. The templates will load with common features of that game type already hooked up and ready to use. At the bottom of the tab, there is an option for you to include Starter Content in your Project which will start you out with some basic content, such as objects and sounds.

New Project tab of the Unreal Project Browser
New Project tab of the Unreal Project Browser

Levels

A Level, in the Unreal Engine, is a self-contained environment where gameplay can occur. Levels load and unload into memory one-at-a-time. To create, open, or save a Level, use the File Menu.

Unreal Editor File Menu
The File Menu

You can test a Level directly in the Level Editor using the Play button in the Toolbar at the top of the window. Use the F11 key to enter and exit fullscreen mode.

Unreal Engine Play Button
The Play Button

Actors

An Actor, in the Unreal Engine, is any object that has been added to a Level. For example, find the cube in the menu on the left side of the screen. Click on it, then drag-and-drop it into the window in the middle. The cube in the middle window is now an Actor within the Level.

Unreal Engine Cube Static Mesh Actor
This cube is an Actor within the Level

Note that not all Actors are physical objects. For example, there are several Actors that simply mark specific places in a Level where certain things should occur. These are still Actors even though players will never see them in the game.

 

Actor Types

The Unreal Engine 4 Quick Start Guide part 3 covers Actor types such as Meshes, Brushes, Lights, Volumes and more.

Meshes

Mesh is a 3D-modeling term that refers to visible 3D objects. Unreal Engine has two main types of mesh Actors – the Static Mesh Actor and the Skeletal Mesh Actor. The Static Mesh Actor is for meshes with no moving parts. The Skeletal Mesh Actor is for meshes that do having moving parts.

Static Mesh of a chair
Static Mesh of a chair

The Starter Content contains some meshes you can use but third-party 3D-modeling programs, such as Maya, 3D Studio Max, or Blender, create most meshes used in games. You can find lots of meshes for free and for sale in the Epic Games Launcher and on the Internet in general.

Brushes

Brushes, also known as Geometry Brushes, are Actors that model 3D space. This is very close to the definition of a mesh, but there are some key differences between the two. Brushes are for simpler shapes while meshes are for more complex shapes. Brushes are easier to work with but require more memory. So, in general, use Brushes to quickly prototype the layouts of Levels, and then replace them with Meshes for the final product. You can access Brushes from the Geometry tab on the left side of the Editor.

Unreal Engine Geometry Brush Box
Box Brush

Materials

The Material of an Actor is a property that is common to both Meshes and Brushes. A Material is an asset you can apply to the surfaces of Actors to make those Actors appear to be made out of that Material. For example, you could apply a wood Material to a cube Mesh to make a “wooden cube.”

Wood Material Applied to Cube Mesh
Mesh of a cube with a wood Material applied

Lights

The purpose of a Light Actor is to represent visible light. Note that they only represent the light itself and not the object from which the light emanates. For example, to have a lamp in your Level, you would need a Static Mesh Actor of a lamp, including the light bulb, in addition to a Light Actor in the same location as the bulb.

Directional Light Actor
A Light Actor illuminating a chair Mesh

There are four types of Light Actors in Unreal.

Directional Light Actor – used to mimic light coming from an extremely long distance away, such as outer space; used primarily for sunlight and moonlight

Point Light – for light that emanates in all directions, like from a light bulb, or fire

Spot Light – emits light in the shape of a cone, like from a flashlight, or, as the name suggests, a spot light

Sky Light Actor – emulates the light that reflects off the atmosphere (the “glow” of the atmosphere)

Atmospheric Fog Actor

The Atmospheric Fog Actor is in the Visual Effects tab in Place Mode of the Modes Panel. Adding it to your Level will give your Level a blue sky and a sun disc.

Atmospheric Fog Actor Default
The Atmospheric Fog Actor will make the Level look like this by default

By default, the sun disc will appear on the horizon. To get it to appear in the sky, you must combine the Atmospheric Fog Actor with a Directional Light Actor. This is done by checking the Atmosphere Sun Light property in the Light category of the Directional Light Actor. By doing so, the rotation of the Directional Light will determine where to place the sun disc in the sky.

Atmospheric Fog Actor combined with Directional Light Actor
When the Atmospheric Fog Actor combines with Directional Light Actor, the sun disc will appear in the sky

Player Start Actor

The Player Start Actor is in the Modes Panel under the Basic tab. Its location in the Level determines where the player will start when the Level begins. If a Level does not contain a Player Start Actor, the player will begin at position (0,0,0).

Player Start Actor
The Player Start Actor

Volumes

A Volume in the Unreal Engine is an invisible area of space that will give certain characteristics to that area depending on the type of Volume. For example, a Blocking Volume will prevent other Actors from being able to enter the Volume’s area. A Pain Causing Volume will cause Damage to any Actor that overlaps with it. A Trigger Volume defines a specific event to occur whenever an Actor enters or exits the volume. This event can be anything you want and can be defined in Blueprints, which are covered at the end of this guide.

UE4 Volume
A Volume in Unreal Engine

 

Level Editor

The Unreal Engine 4 Quick Start Guide part 4 covers the Level Editor, how to navigate within it, and how to organize your content within it.

The Level Editor is the home screen when developing games in the Unreal Engine application. The large rectangle in the middle is the Viewport. The thin strip above that is the Toolbar. At the bottom of the screen is the Content Browser. On the left side of the screen is the Modes Panel. On the right side of the screen is the World Outliner at the top, and below that, the Details Panel.

Panels of the Level Editor
The panels of the Level Editor – 1. Viewport 2. Toolbar 3. Content Browser 4. Modes Panel 5. World Outliner 6. Details Panel

1. Viewport – used to manipulate Actors in your Level and visualize what the Level will look like

2. Toolbar – a collection of buttons for common and useful actions, such as saving or playing a simulation of your Level

3. Content Browser – for storing and organizing content, such as Meshes, Materials, audio, visual effects, and so on

4. Modes Panel – changes the mode of the Level Editor into different modes suited for particular tasks, such as dragging and dropping Actors into the Level, adding color and texture to objects, manipulating the geometry of objects, modifying the landscape, and adding foliage to the Level

5. World Outliner – an organized list of the Actors in the Level so they are easy to find quickly when the Level gets large

6. Details Panel – used to view and edit the properties of the currently selected Actor

Viewport Navigation

There are three different ways you can navigate in the Viewport – mouse navigation, WASD navigation, and Maya navigation. The abbreviations LMB, RMB, and MMB stand for left mouse button, right mouse button, and middle mouse button, respectively.

Mouse Navigation

To use mouse navigation, hold down one of the following mouse buttons or button combinations and drag the mouse to perform the action.

LMB – move forward or backwards, rotate left or right

LMB+RMB / MMB – move left, right, up, or down

RMB – rotate in any direction

WASD Navigation

To use WASD navigation, keep the RMB held down the entire time.

Drag the mouse – rotate in any direction

W, A, S, & D keys – forward, left, backwards, right

Q & E keys – up, down

Z & C keys – zoom in and out

Maya Navigation

Maya refers to a popular 3D-modeling program that uses these controls. To use Maya navigation, keep the Alt key held down, then hold one of the following mouse buttons and drag the mouse.

LMB – tumble/orbit the camera around a single point of interest

RMB – dolly/zoom the camera towards and away from a point of interest

MMB – track/pan the camera up, down, left, and right

Moving, Rotating, and Scaling Actors

To move, rotate, and scale Actors in the Level Editor, use the Move, Rotate, and Scale Tools. You can see which tool is selected by looking at the first three icons in the upper-right of the Viewport.

Move Rotate and Scale Tool Icons
Move, Rotate, and Scale Tool icons

To switch between the tools, click their icons, or use the shortcut keys W, E, and R.

Move Tool

When the Move Tool is selected, three colored arrows will appear on the currently selected Actor. To move an Actor along a particular axis, click on the corresponding arrow and drag the mouse. To move an Actor in two dimensions, click on the connector between the arrows. For all three dimensions at once, click on the white sphere in the middle of the arrows.

UE4 Move Tool
Move Tool

Rotate Tool

When the Rotate Tool is selected, you can rotate an Actor around one of the three axes by clicking on one of the colored arcs and dragging the mouse.

UE4 Rotate Tool
Rotate Tool

Scale Tool

When the Scale Tool is selected, you can make your Actors bigger or smaller. Just like with the Move Tool, you can manipulate the Actor in one, two, or three dimensions at a time.

UE4 Scale Tool
Scale Tool

Details Panel

When an Actor is selected, the Details Panel will display the properties of that Actor, most of which can be edited.

Transform Category

The Transform category is common to all Actors. In the Transform category, you can move, rotate, and scale actors manually by entering values directly. This is useful when you need precision or exact values.

Transform category of the Details Panel
Transform category of the Details Panel
Mobility

Mobility is a setting that applies primarily to Mesh Actors and Light Actors. For Meshes, there are two options – Static and Moveable. Static means the Actor will remain in place the entire time, while Moveable means it’s possible for the Actor’s location to change. For Light Actors, there is a third option – Stationary. This is used for Lights that don’t move, but can change in other ways such as changing color or turning on or off.

 

Blueprints

The Unreal Engine 4 Quick Start Guide part 5 covers Blueprints. A Blueprint in the Unreal Engine is an asset that contains data and instructions. With Blueprints, you specify the logic that controls your games and keeps track of important data such as health, energy, score, etc.

Level Blueprints vs Blueprint Classes

There are two main types of Blueprints – the Level Blueprint and Blueprint Classes. A Level Blueprint holds data and instructions for a particular Level. It might hold data such as the time remaining to complete the Level, or the number of keys you’ve collected in that Level, and so on. It also stores instructions that pertain only to that Level.

Blueprint Classes are a way to turn any Actor or asset into a Blueprint. This allows you to create objects with custom traits and behaviors. One of the great things about Blueprint Classes is that you can use them to create as many copies, or instances, of your creation as you want. Once you complete a Blueprint Class, it will be available to you in the Content Browser, and each time you drag it into the Viewport, it will create a new instance of that Actor. Each instance has its own data independent from the other instances.

Level Blueprint Editor

To open a Level Blueprint, go to the Toolbar, click the Blueprints button, then click on “Open Level Blueprint.” This will open the Level Blueprint Editor.

Event Graph

Inside the Level Blueprint Editor is the Event Graph. The Event Graph is where you script logic. If you’re a programmer, you can script the logic in pure code using C++. However, Epic Games has a visual scripting system that allows non-programmers to script logic and can be convenient even for programmers with experience.

Nodes

The scripting system works by using various Nodes, that each serve a specific purpose, and connecting those Nodes together. By default, the Level Blueprint starts off with two commonly used Nodes in the Graph. They are disabled to start with, but can be used right away by connecting them to another Node.

The first Node is the Event BeginPlay Node. An Event Node is a Node that activates when a certain event occurs. So an Event BeginPlay Node, inside of a Level Blueprint, will be activated by the event of the Level first starting.

Default Event Nodes
The Event BeginPlay Node and Event Tick Node start in the Level Blueprint by default

The second default Node is also an Event Node. The Event Tick Node is a Node that activates on every tick of gameplay. Before every frame of the game draws on the screen, any logic that connects to the Event Tick Node will execute. This is useful in situations where you need to constantly check certain conditions that, when met, will have an immediate effect on the game, such as the main character colliding with something harmful.

Pins and Wires

The icons along the left and/or right sides of Nodes are pins. Pins on the left side of a Node are input pins and pins on the right side of a Node are output pins. They input/output data to and from Nodes and specify the order in which Nodes should execute.

Pins connect to one another with wires. To create a wire, left-click on a pin and then drag the mouse while still holding the LMB. This will drag a wire out of that pin. If you hover over another pin and release the LMB, it will connect the end of the wire to that pin.

Pins with a white icon that looks like a Play button are execution pins. Execution pins on the left side of a Node are input execution pins. When a wire connected to an input execution pin activates, it will trigger execution of that Node. Execution pins on the right side of a Node are output execution pins. Wires connected to an output execution pin will activate once that Node has finished executing. Output execution pins can only connect to input execution pins and vice-versa. By chaining Nodes together through their execution pins, you can define a series of Nodes that should execute, one after the other, every time the first Node in the series activates. The first Node in a chain will always be an Event Node.

Pins with a circular icon are data pins. The purpose of data pins is to pass data between Nodes. Output data pins can only connect to input data pins and vice-versa. Whatever data the output data pin contains is sent to the input data pin it connects to.

Adding Nodes

To add a new Node to the Event Graph, you will need to select that Node from the Node Menu. The Node Menu is brought up by right-clicking on any empty space in the Graph, or by releasing the LMB over any empty space when dragging out a wire from an output execution pin. When doing the latter, the Node you add will automatically connect to the wire.

UE4 Node Menu
You can add Nodes from the Node Menu

There are many Nodes available to choose from in the Node Menu. They are organized into categories, but if you know at least part of the name of the Node you’re looking for, you can use the search box at the top of the Node Menu to search for it.

Compiling

Before you can test any new logic you have created, you must compile the Blueprint. Compiling just means that the Engine will convert the logic into machine code that the computer can understand. In order to compile the Blueprint, simply go up to the toolbar of the Blueprint Editor and click the Compile button. If there is any new logic that is uncompiled, the Compile button will contain a question-mark icon.

Simple Blueprint Example

Here is a simple, albeit non-practical, example of a Blueprint to help you gain familiarity. The following is a Level Blueprint whose logic specifies that the game should exit two seconds after the Level begins.

UE4 Simple Blueprint Example
This logic will cause the game to exit two seconds after the Level begins

Variables

Variables are what Blueprints use to store data. Just like in algebra, where you might use a variable named X to store a number, you can use variables in Unreal to store data. But in Unreal, variables can hold other kinds of data in addition to numbers, such as text.

To create a variable in Unreal, first look on the left side of the Blueprint Editor for the My Blueprint tab. Within the My Blueprint tab is a Variables sub-tab. Clicking on the plus sign on that tab will create a new variable which you can then name.

UE4 My Blueprint Tab
You can add new variables in the My Blueprint tab

Data Types

A variable’s data type determines what kind of data it can hold. One way of setting the data type is to click on the rectangle to the left of the variable’s name, and then choose the data type from the menu that appears. The menu will contain a list of all the basic data types in Unreal. Each data type is identified by a unique color.

UE4 Data Types
Each data type in Unreal is identified by a unique color

Boolean – holds a value of True or False

Byte – stores a whole number between 0 and 255, inclusive

Integer – stores whole numbers

Float – holds decimal values

Name – stores text

String – stores text that you can perform manipulation functions on

Text – stores text that is displayed on the screen

Vector – stores three Float values

Rotator – stores numbers that describe an object’s rotation in 3D space

Transform – holds data that describes an object’s position, rotation, and scale in 3D space

Get Node

A Get Node is a Node whose only purpose is to output the value of a variable. It will contain just a single pin, an output data pin. It has no execution pins. You can think of a Get Node as being always active, because it will output the current value of the variable, every tick of gameplay, to whatever pin it connects to.

To create a Get Node for a specific variable, left-click on the variable in the My Blueprint tab and drag it into the Event Graph. When you release the LMB, click on “Get” from the menu that appears. This will create a Get Node. Another way to do this is to hold down the Ctrl key when dragging the variable into the Graph, and then when you let go of the mouse, it will automatically create a Get Node for the variable.

UE4 Get Node
A Get Node for a Float variable with the name “Delay Duration”

Set Node

A Set Node changes the value of a variable. It contains an input data pin that specifies what value the variable should change to. The value changes once the Node activates through its input execution pin. The Node also contains an output data pin so the new value can pass on to another Node if you wish.

To create a Set Node for a specific variable, left-click on the variable in the My Blueprint tab and drag it into the Event Graph. When you release the LMB, click on “Set” from the menu that appears. This will create a Set Node. Another way to do this is to hold down the Alt key when dragging the variable into the Graph, and then when you let go of the mouse, it will automatically create a Set Node for the variable.

UE4 Set Node
A Set Node for a Float variable named “Delay Duration”

Updated Blueprint Example

Expanding on the Blueprint example from earlier, here is an example of using a variable to specify the duration that the Delay Node should delay.

Updated Blueprint Example with Variable
The Duration property of the Delay Node is set by a variable

Accessing Actors Within Blueprints

In order to access to an Actor within a Blueprint, that Actor needs to be selected in the Level Editor when you right-click in the Event Graph of the Blueprint. When you do so, the Node Menu will have some options at the top relating to that Actor. You can create an Event based on the Actor, you can call a Function on the Actor, and you can also get a reference to the Actor. Note that for this to work, the Context Sensitive checkbox needs to be checked.

Get Reference Actor Node Menu
You can get a reference to the currently selected Actor through the Node Menu

The following example uses a reference to a Light Actor to turn that light off two seconds after the Level begins.

Turn Light On Off Blueprint Example
This logic will turn a Light Actor off two seconds after the Level begins

To create an Event from an Actor, select the Actor in the Level Editor, open the Node Menu in the Blueprint, make sure Context Sensitive is checked, then select “Add Event for [Actor Name].” From there, if you expand the Collision menu, there will be an option to create an On Actor Begin Overlap Event. This Event will fire whenever another Actor overlaps with this Actor. This Event is often used with Trigger Volumes.

The following example uses Events to turn a Light on and off when an Actor enters and exits a Trigger Volume named “LightTrigger.”

Trigger Volume Blueprint Example
This logic will turn a light off when an Actor enters a Trigger Volume and will turn it back on once that Actor leaves the Trigger Volume

Blueprint Classes

With Blueprint Classes, you can create Blueprints out of existing Actors and Assets. By creating a Blueprint from an Actor, you can add data and functionality to that Actor, thus creating your own custom version of that Actor type.

To create a Blueprint from an Actor, select it, and then in the Details Panel, click on the blue “Blueprint/Add Script” button. Then select the folder path where you want to save the Blueprint, give it a name, and click “Create Blueprint.”

The following example is a Blueprint that has been created from a Point Light Actor. The logic will cause the Light to turn on and off every second.

Blueprint Class Example
This logic will cause a Light Actor to turn on and off every second (it’s hard to see, but Toggle Visibility has an output wire that loops back to the start of the Delay Node)

One of the major advantages of Blueprint Classes is that they are reusable. The above Blueprint of a custom Light Actor can be used just like any other Actor. If you browse to it in the Content Browser, you can drag and drop as many instances of it as you want. An instance is an individual copy of an object made from a Blueprint.

Editable Variables

When you add a variable to a Blueprint Class, it is, in essence, adding a custom property to that Actor. The following builds upon the earlier example and adds a Float variable named Light Toggle Duration to the Blueprint and uses that variable as the Duration of the Delay Node.

Blueprint Class with Variable
A Float variable named Light Toggle Duration has been added to this example

There are two ways to make a variable Editable. One way is to use the icon in the My Blueprint tab, which will toggle between the image of an eye open and an image of an eye closed. When the eye is open, that means that the variable is Editable. You can also use the Editable checkbox in the Details Panel to set whether the variable should be Editable or not.

If a variable is set to Editable, its value can be changed in the Level Editor. With the Light Toggle Duration variable set to Editable, if you select an instance of the Light Blueprint in the Level Editor, that variable will now appear in the Details Panel.

Blueprint Class Custom Property
The variable named Light Toggle Duration now appears in the Details Panel when an instance of the Light Blueprint is selected in the Level

Now you have the ability to easily set a different duration for each instance of the Actor. You could drag in several instances of the Actor, give them each a different Light Toggle Duration, and they will all turn on and off at different rates. This is the power of Blueprint Classes. You can create your own custom Actors and Assets, then reuse them as many times as you like, and modify their individual properties.

Unreal Engine 4 Quick Start Guide – Learn More

To learn more about Blueprints, check out our Unreal Engine 4 Blueprint Node Reference Guide.