Unreal Engine Game Development Cookbook - Sample Chapter
Unreal Engine Game Development Cookbook - Sample Chapter
games
from scratch.
This book takes you on a journey to jumpstart your game design efforts. You will learn various aspects of
Unreal Engine with the help of practical examples. You will start by building levels for your game. This will
be followed by recipes to help you create environments, place meshes, and implement your characters. You
will then learn to work with lights, cameras, and shadows. Moving on, you'll learn Blueprint scripting and
C++ programming to achieve trigger effects and add simple functionalities. By the end of the book, you will
see how to create a healthbar and main menu and then get your game ready to be deployed and published.
and problems
problems efficiently
real-world problems
John P. Doran
$ 49.99 US
31.99 UK
"Community
Experience
Distilled"
Fr
ee
Sa
pl
e
John P. Doran
Preface
Unreal Engine 4 (UE4) is a complete suite of game development tools made for game
developers by game developers. A truly powerful tool for game development, there's never
been a better time to use it for both commercial as well as independent projects.
Unreal Engine Game Development Cookbook explores the creation of real-time interactive
simulations or games. Key aspects of UE4 will be explored to make UE4 more accessible to
readers and gear them with the knowledge so that they can focus on creation, knowing where
they need to go if they run into issues.
Preface
Chapter 7, Art Pipeline Working with Materials, explores Unreal's art pipeline, teaching you
how to create a number of materials from a simple image and glowing mirrors, and makes you
see through walls.
Chapter 8, Blueprint Scripting Level Effects, shows you various ways to use blueprints, the
visual scripting language of Unreal Engine 4. It teaches you how to build a number of things
from flickering lights to doors and flashlights.
Chapter 9, C++ Programming Gameplay, introduces C++ programming in Unreal Engine 4.
It lets you create your own development environment and a basic gametype. It also explains
you how to work with networking, save and load games with keyboard commands, and create
custom blueprint nodes.
Chapter 10, User Interface, brings you some insight on Slate and the UMG Editor to create a
number of UI elements, including health bars and an animated main menu to tie your whole
game together.
Chapter 11, Publishing and Deployment, teaches you how to package your project and create
an installer for it to get it out into the world for others to play.
Getting Acquainted
with the UE4 Interface
In this chapter, we'll cover the following recipes:
UI overview
Introduction
UE4, created by Epic Games, is a robust game engine that contains several different
game development tools, which can create any kind of game imaginable, with many areas
for specialization. It would be good for newcomers to the Engine to first have a basic
understanding of what the entire Unreal Engine consists of and then dive into the different
areas that they are interested in.
These first recipes may seem a bit difficult for those who are unfamiliar with game
development, but after a short period of time, it will become second nature to them. In this
chapter, readers will gain some fundamental knowledge and have some awareness that will
help and prepare them for the upcoming chapters.
How to do it
Now that we have our project set up, let's get started with creating our player:
1. In the web browser of your choice, go to http://unrealengine.com.
Chapter 1
2. Once on this page, click on the light blue GET UNREAL button.
3. Once on the Join the Community page, fill out the information and create
your account!
It's important at this point to note the subscription plan that Unreal has for its
user. You need to pay a 5 percent royalty to Unreal for any games that you publish.
Of course, if the title is released for free, you don't need to pay anything.
4. Once you are logged in to your account, make sure that you are on the Subscription
tab and then click on the Download button on the right-hand side of the screen for
the operating system of your choice (I am using Windows).
Chapter 1
If by chance you don't see the preceding screen, you can always get the
latest version of the software at https://www.unrealengine.com/
dashboard.
5. Next, once the installer has finished downloading, open it up and start the
installation. If you see a security warning, click on the Run button.
6. Go through the installation process, but make sure that the destination folder you're
installing it in has a lot of disk space as UE4 will take up around 8 GB of space for
each version that you have installed. Once the installation is complete, the Epic
Games Launcher should open. If it doesn't, open it from your desktop.
7.
Once the launcher is open, fill in your e-mail and password and then click on the
Sign In button.
There's more
Now that you have your UE4 installation completed, it's a good idea to see what actually
has been installed. For a definition of what all of these folders are used for, please
refer to https://docs.unrealengine.com/latest/INT/Engine/Basics/
DirectoryStructure/index.html.
UI overview
One of the hardest things to understand when first starting out with a tool is knowing how
to actually access all of the tools that are contained in the engine. Let's take a look at the
interface of the Unreal Editor.
Chapter 1
Getting ready
When you actually launch UE4 from the launcher, the first thing that you'll be brought to
is Unreal Project Browser. Switch to the New Project tab, and you'll be given a choice
of various templates to use for projects. For now, we'll stay with Blueprint visual scripting
and will create a Blank project with starter content included so that we can see some
stuff in the project. For the project's name, I have put UIOverview. Once finished,
click on Create Project.
How to do it
Now that we have our project set up, let's get started and see what the editor looks similar to:
1. Once the project is opened, close the tutorial popup that comes up (if it does).
This new window that's opened is referred to as the level editor, which is the core
of content creation in UE4. Here, you can see the default interface layout:
2. At the top-left of the editor, you can see the Modes tab, which contains
various tool modes to allow you to put things into the world, such as BSP brushes,
painting, and foliage and terrain. Below this, you can see the Content Browser tab,
which contains all of the models, textures, and data that make up our game worlds.
We'll be exploring this much more in The Content Browser overview recipe later in
this chapter.
3. In the center, the largest window that you see is the viewport , which is the actual
level that we are building. We will talk more about viewports in the Navigating the
viewport recipe.
Chapter 1
4. To the right of the window, you will see the Scene Outliner tab, which will display all
of the actors within our level. This is a useful tool for being able to find actors easily
as well as adding a parent/child relationship to objects. Below the Scene Outliner
tab, you'll see the Details tab, which contains information about whatever object is
currently selected in the level or the Scene Outliner tab. For each component on the
object, it will display the functionality for it, such as the transform and the materials
the object uses.
5. At the top, you'll see the tab bar, which will show the name of your project as well as a
tab for the level that you currently have running with its name.
6. Below this, you'll see the menu bar that will provide access to general tools and
commands:
7.
The File menu lets you save and open maps as well as projects. It also
allows you to import/export actors.
The Edit menu allows you to copy and paste actors as well as configure
properties in the editor. In this menu, users can configure Editor and Project
Settings as well. It is in these settings that let you create the icons for the
game launcher, set up input actions for your game type, and so on.
The Window menu allows you to toggle visibility of the various things that
UE4 contains and save or reset your layouts.
The Help menu has a number of additional resources to help make working
in UE4 as painless as possible.
On the right-hand side of the menu bar, you'll see a search bar that you can use to
look for help. The far right of the bar shows whether you are currently connected to
source control through Subversion (SVN) or Perforce, which would be useful when
you're in teams.
8. Finally, below this in the center is the toolbar that contains a group of commonly used
shortcuts to make it easier to find certain things.
For more information on the default interface, check out https://docs.
unrealengine.com/latest/INT/Engine/UI/LevelEditor/
index.html.
How to do it
To get started, let's first try to move around in the game world a bit by using just the mouse:
1. Inside the viewport, with the left mouse button clicked and held, move your mouse
forward and you should notice the level moving as well. If you move your mouse
backward, you should notice that the camera is moving in the same way, and when
we move the mouse to the left and right, the camera turns, it doesn't move.
2. Holding the right mouse button and moving the mouse will rotate the viewport
camera in a similar manner to a First-Person Shooter (FPS) game. Moving the
mouse up and down will make the camera loop upward and downward. And, when we
move the mouse to the left and right, the camera behaves in the same manner.
3. Holding the middle mouse button (scroll wheel) and moving the mouse will pan the
camera in the direction you move it as if it is on a track.
You can adjust the speed with which the camera moves by modifying the Camera
Speed property in the top-right of the viewport to increase or decrease the amount
of movement you need to travel via the camera. Alternatively, holding the left or right
mouse button and scrolling the middle mouse button (wheel) will also change the
camera speed.
4. In addition to rotating the camera like an FPS game, when holding down the right
mouse button you can also use the W, A, S, and D keys to allow you to move just like
you would in an FPS in Spectator mode.
10
Chapter 1
If you're not a fan of the right mouse button, you can hold any other button
on the mouse and move. If you aren't a fan of the W, A, S, and D keys, you
can also use the arrow keys or 8, 4, 6, and 2 keys on the numpad.
5. You can also use the E and Q keys in order to rise or fall in the air and the C and
Z keys to zoom in and out, respectively, by changing the field of view (FOV). This
change in FOV is only temporary though as when you release the right mouse button,
it will reset back to normal.
6. The final way we can move through the viewport is very similar to how Maya users can
move around their models. We activate this mode by holding the Alt key. If we click
and drag, we will tumble around whatever is there in our current pivot in a similar
manner as we orbit around the pivot. Clicking on the right mouse button and dragging
will zoom the camera in and out of the pivot, while holding down the middle mouse
button and dragging will move the camera in the direction of the mouse movement.
We can change where our pivot is easily by selecting the object we want to move
around and then pressing the F key to focus on it.
For more information on moving around the viewport, refer to
https://docs.unrealengine.com/latest/INT/Engine/
QuickStart/2/index.html.
Getting ready
This recipe assumes that you have a project open with the sample assets included. If you
do not have that yet, feel free to follow the instructions in the Getting ready section of the UI
overview recipe.
11
How to do it
Now that we know how to move around the viewport, we will next want to get acquainted
with the Content Browser, which is what we use in order to import or modify contents for
our project:
1. By default, the Content Browser tab is docked in the lower-left corner of the main
Level Editor interface, but it can be redocked anywhere within the Level Editor or
floated as its own window. You can make it float as a separate window by clicking on
the Content Browser tab and dragging it off. If you have a second monitor, having
one for the Content Browser tab can often be a nice way to work as you'll often be
grabbing things from there and bringing them into the world when building levels.
2. Close the Content Browser tab by clicking on the X button in the top-right corner of it.
To bring it back, go to Window | Content Browser | Content Browser 1.
Alternatively, you can also click on the Content shortcut icon above the
viewport or press Ctrl + Shift + F to bring the Content Browser tab back.
3. You can snap the Content Browser tab back to where it was by dragging the tag over
it and releasing. You can also create multiple Content Browser tabs to allow you to
see multiple things at a time or to move assets between folders easily.
4. The interface of the Content Browser tab needs space to look nice. Move your
mouse over to the edge of the Content Browser tab and drag to extend it. Do the
same from the top. Next, double-click on the StarterContent folder to open it.
12
Chapter 1
5. The top section is called the navigation bar. It allows you to create, import, and save
assets on the left-hand side as well as to move through the different folders in a
similar way to a web browser.
6. Below this on the left-hand side is the sources view. This contains a list of all the
folders and collections inside the project, formatted in Folder Hierarchy. Extend the
StarterContent folder in the view to see all the folders.
7.
Below this is the Collections view, which provides easy access to your created
collections. Collections are a way for us to organize assets into personally-defined
groups, such as all characters or environment meshes for a level. Unlike being in
a folder, you can think of all of the objects in a collection as being a reference or
shortcut to that content. This can be collapsed if you're not using it by clicking on the
icon to the left of the Collections text.
8. On the right-hand side, below the navigation bar, is the asset management area. This
is used mostly for filtering out files or searching for a particular asset that we will see
below in the asset view.
9. Below that is the asset view, which is the largest section of the UI. This is a grid
displaying all the items that meet the filter requirements in the navigation bar's folder.
Right-clicking on an asset or folder will show contextual options based on the objects.
All of the assets you see can be dragged and dropped into a scene easily by clicking
on the Shapes folder and dragging one of the objects into your scene.
13
Getting ready
This recipe assumes that you have a project open with the sample assets included. If you
do not have that yet, feel free to follow the instructions in the Getting ready section of the UI
overview recipe.
In addition, this recipe uses assets from the example code provided for the book. If you do not
have it, download it from the Packt Publishing site at http://www.packtpub.com
Downloading the example code
You can download the example code files for all Packt books you have
purchased from your account at http://www.packtpub.com. If you
purchased this book elsewhere, you can visit http://www.packtpub.
com/supportand register to have the files e-mailed directly to you.
14
Chapter 1
How to do it
Let's start off by importing a simple model from the Content Browser tab.
1. Make sure that the Content Browser tab is at the Game folder and then click on the
Import button.
2. Once there, browse to the location where the example code of this chapter is placed
and open the Ship folder. Select the Ship.fbx file and then click Open.
3. You'll be prompted with an FBX import dialog, click on Import, and you should see
your new asset included in the Content Browser tab, accompanied by Materials that
was created to be used for the Ship model.
15
16
www.PacktPub.com
Stay Connected: