100% found this document useful (6 votes)
38 views

Buy ebook Beginning Unreal Engine 4 Blueprints Visual Scripting: Using C++: From Beginner to Pro Satheesh Pv cheap price

Pro

Uploaded by

smetszugerq9
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (6 votes)
38 views

Buy ebook Beginning Unreal Engine 4 Blueprints Visual Scripting: Using C++: From Beginner to Pro Satheesh Pv cheap price

Pro

Uploaded by

smetszugerq9
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Download the Full Version of textbook for Fast Typing at textbookfull.

com

Beginning Unreal Engine 4 Blueprints Visual


Scripting: Using C++: From Beginner to Pro
Satheesh Pv

https://textbookfull.com/product/beginning-unreal-
engine-4-blueprints-visual-scripting-using-c-from-beginner-
to-pro-satheesh-pv/

OR CLICK BUTTON

DOWNLOAD NOW

Download More textbook Instantly Today - Get Yours Now at textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Beginning Unreal Engine 4 Blueprints Visual Scripting:


Using C++: From Beginner to Pro 1st Edition Satheesh Pv

https://textbookfull.com/product/beginning-unreal-engine-4-blueprints-
visual-scripting-using-c-from-beginner-to-pro-1st-edition-satheesh-pv/

textboxfull.com

Unreal Engine 4 AI Programming Essentials Create


responsive and intelligent game AI using Blueprints in
Unreal Engine 4 1st Edition Peter L. Newton
https://textbookfull.com/product/unreal-engine-4-ai-programming-
essentials-create-responsive-and-intelligent-game-ai-using-blueprints-
in-unreal-engine-4-1st-edition-peter-l-newton/
textboxfull.com

Unreal Engine 4 Scripting with C Cookbook Get the best out


of your games by scripting them using UE4 1st Edition
William Sherif
https://textbookfull.com/product/unreal-engine-4-scripting-with-c-
cookbook-get-the-best-out-of-your-games-by-scripting-them-using-
ue4-1st-edition-william-sherif/
textboxfull.com

Beginning C: From Beginner to Pro 7th Edition Gonzalez-


Morris

https://textbookfull.com/product/beginning-c-from-beginner-to-pro-7th-
edition-gonzalez-morris/

textboxfull.com
Beginning R 4: From Beginner to Pro 1st Edition Matt Wiley

https://textbookfull.com/product/beginning-r-4-from-beginner-to-
pro-1st-edition-matt-wiley/

textboxfull.com

Beginning R 4: From Beginner to Pro 1st Edition Matt Wiley

https://textbookfull.com/product/beginning-r-4-from-beginner-to-
pro-1st-edition-matt-wiley-2/

textboxfull.com

Beginning Unreal Game Development: Foundation for Simple


to Complex Games Using Unreal Engine 4 1st Edition David
Nixon [David Nixon]
https://textbookfull.com/product/beginning-unreal-game-development-
foundation-for-simple-to-complex-games-using-unreal-engine-4-1st-
edition-david-nixon-david-nixon/
textboxfull.com

Beginning C From Beginner to Pro 7th Edition German


Gonzalez-Morris

https://textbookfull.com/product/beginning-c-from-beginner-to-pro-7th-
edition-german-gonzalez-morris/

textboxfull.com

Beginning C: From Beginner to Pro, 7th Edition German


Gonzalez-Morris

https://textbookfull.com/product/beginning-c-from-beginner-to-pro-7th-
edition-german-gonzalez-morris-2/

textboxfull.com
Beginning
Unreal Engine 4
Blueprints Visual
Scripting
Using C++: From Beginner to Pro

Satheesh Pv
Beginning Unreal
Engine 4 Blueprints
Visual Scripting
Using C++: From
Beginner to Pro

Satheesh Pv
Beginning Unreal Engine 4 Blueprints Visual Scripting
Satheesh Pv
Mumbai, India

ISBN-13 (pbk): 978-1-4842-6395-2 ISBN-13 (electronic): 978-1-4842-6396-9


https://doi.org/10.1007/978-1-4842-6396-9

Copyright © 2021 by Satheesh Pv


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of
publication, neither the authors nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The publisher makes no warranty,
express or implied, with respect to the material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Spandana Chatterjee
Development Editor: Matthew Moodie
Coordinating Editor: Divya Modi
Cover designed by eStudioCalamar
Cover image designed by Pixabay
Distributed to the book trade worldwide by Springer Science+Business Media New York,
1 New York Plaza, Suite 4600, New York, NY 10004-1562, USA. Phone 1-800-SPRINGER, fax (201)
348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media,
LLC is a California LLC and the sole member (owner) is Springer Science + Business Media
Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail [email protected]; for
reprint, paperback, or audio rights, please e-mail [email protected].
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Print
and eBook Bulk Sales web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is
available to readers on GitHub via the book’s product page, located at www.apress.com/
978-1-4842-6395-2. For more detailed information, please visit http://www.apress.com/
source-code.
Printed on acid-free paper
Thanks to Jesus for His guidance and to
my wife, mother, and brother for their continuous
support, and a big thanks to Apress for giving me the
opportunity to write this book
Table of Contents
About the Author���������������������������������������������������������������������������������ix
About the Technical Reviewer�������������������������������������������������������������xi
Introduction���������������������������������������������������������������������������������������xiii

Chapter 1: Introduction to Unreal Engine 4������������������������������������������1


Getting Unreal Engine�������������������������������������������������������������������������������������������1
Download from Epic Games Launcher������������������������������������������������������������2
Download from GitHub������������������������������������������������������������������������������������3
Getting to Know Unreal Editor�������������������������������������������������������������������������������5
Project Structure���������������������������������������������������������������������������������������������8
An Unreal Editor Tour���������������������������������������������������������������������������������������9

Chapter 2: Introduction to Blueprints�������������������������������������������������21


Nodes������������������������������������������������������������������������������������������������������������������21
Blueprint Types���������������������������������������������������������������������������������������������������22
Blueprint Classes�������������������������������������������������������������������������������������������23
Level Blueprint�����������������������������������������������������������������������������������������������25
Blueprint Interface�����������������������������������������������������������������������������������������27
Blueprint Macro Library���������������������������������������������������������������������������������30

v
Table of Contents

Chapter 3: C++ and Unreal Engine 4��������������������������������������������������33


Installing Visual Studio����������������������������������������������������������������������������������������33
Adding C++ Code������������������������������������������������������������������������������������������������34
Examining the Header�����������������������������������������������������������������������������������39
Examining the Source File�����������������������������������������������������������������������������42
Exposing Variables and Functions to Blueprints�������������������������������������������������43
Modifying the Header������������������������������������������������������������������������������������43
Modifying the Source File������������������������������������������������������������������������������45
The Final Code�����������������������������������������������������������������������������������������������47
Using the Class����������������������������������������������������������������������������������������������50
Calling C++ Functions in Blueprints�������������������������������������������������������������������51

Chapter 4: Gameplay Classes�������������������������������������������������������������55


Actor�������������������������������������������������������������������������������������������������������������������55
Game Mode Base������������������������������������������������������������������������������������������������55
Game State Base�������������������������������������������������������������������������������������������������56
Game Instance����������������������������������������������������������������������������������������������������56
Pawn�������������������������������������������������������������������������������������������������������������������58
Character������������������������������������������������������������������������������������������������������������58
Player Controller�������������������������������������������������������������������������������������������������58
Player State���������������������������������������������������������������������������������������������������������59
Creating Character Class and Player Controller Class����������������������������������������60
Creating and Showing Data on HUD��������������������������������������������������������������������71

vi
Table of Contents

Chapter 5: Physics and Raycasting����������������������������������������������������79


Simulation�����������������������������������������������������������������������������������������������������������79
Collision��������������������������������������������������������������������������������������������������������������81
Using Trace (Raycast) to Pick up an Item������������������������������������������������������������83
Destruction Using Physics����������������������������������������������������������������������������������93

Chapter 6: Importing Meshes and Textures��������������������������������������101


Creating Material����������������������������������������������������������������������������������������������106
Material Types���������������������������������������������������������������������������������������������109
Modifying Materials at Runtime Using Blueprint and C++��������������������������119

Chapter 7: Demo Game���������������������������������������������������������������������131


Creating the Project������������������������������������������������������������������������������������������131
Ammo Setup�����������������������������������������������������������������������������������������������������135
Ammo Pickup����������������������������������������������������������������������������������������������������154
Package Game��������������������������������������������������������������������������������������������������158

Index�������������������������������������������������������������������������������������������������163

vii
About the Author
Satheesh Pv is a game programmer living in
Mumbai, India. He started his career as a game
developer in 2012 by making a first-person
multiplayer game with his brother and close
friend using the Unreal Development Kit.
Satheesh created Unreal X-Editor, an IDE
developed for UnrealScript, the native
scripting language of Unreal Engine 3. He
was selected by Epic Games as one of the
closed beta-testers for Unreal Engine 4 before
its public release. He is also a moderator at Unreal Engine forums and a
spotlight member and engine contributor.

ix
About the Technical Reviewer
Pranav Paharia is a game developer who
has worked on game technologies like
Cocos2dx, Unity3D, and Unreal Engine 4.
He has a bachelor’s degree in information
technology and a postgraduate degree in
game development. After realizing his die-
hard interest in games, he started his career
in game development by working for Indie
Game Studios making mobile games in many genres. One of the projects
he worked on, Song of Swords, won the NASSCOM 2013 People’s Choice of
the Year Award. He has worked on a variety of systems for games, including
gameplay, multiplayer, data pipelines, and cinematics. He is proficient
in C++ and C# and can work on any game technology to create mind-
boggling simulations. He is a self-taught programmer and designer.
Since 2013, Pranav has created simulations for single-player games,
multiplayer games, card games, VR games, AR simulations, serious
games, training simulations, and learning games. He has also worked
on a few game development books. With his vast experience in creating
simulations, he is now involved in solving real-life problems using the
latest technologies, such as creating architectural visualizations, VR
training systems, and medical data imaging for clients like DRDO India,
Zaha Hadid, Line Creative, and MediaMonks.

xi
About the Technical Reviewer

Apart from developing graphical simulations, Pranav is currently


working on creating virtual productions tech using Unreal Engine. He is
an avid gamer who loves Dota 2. He also has keen interest in photography,
reading books with philosophical context, and riding his bike on long road
trips. He is grateful to Krsna for guiding him through his purpose in life.
You can contact him at [email protected]; also check out his
website at www.pranavpaharia.com.

xii
Introduction
This book covers the basics of Unreal Engine, including Blueprints,
materials, and C++. It starts with downloading Unreal Engine using Epic
Games Launcher and using the GitHub version. From there, it moves
forward to Blueprint classes and the common classes, such as Game Mode,
Game State, Game Instance, and Player Controller. You learn about how to
add C++ and get a brief introduction to Unreal C++, materials, and physics.
At the end of the book, you make a small demo game extended from a first-­
person template using Blueprints. In this demo game, you learn how to
add ammo and ammo pickup.
This book is primarily aimed at beginners who want to learn more
about the Engine, how a project is structured, Unreal Blueprints, and C++.

xiii
CHAPTER 1

Introduction to
Unreal Engine 4
Hello there, and welcome to this beginner’s guide to Unreal Engine 4.
Throughout this book, you learn about different aspects of Unreal
Engine 4, and you learn to create a sample game with the knowledge
you gain. In this chapter, you learn how to download Unreal Engine
through Epic Games Launcher and GitHub. After that, you learn how
a project is structured and become familiar with the Unreal Editor
interface.

Getting Unreal Engine


This chapter looks at how you acquire Unreal Engine. You can download
it through either Epic Games Launcher or GitHub. Either way, you need to
create an account at www.unrealengine.com, which is free.
First, let’s look at the differences between Epic Games Launcher and
GitHub.

© Satheesh Pv 2021 1
S. Pv, Beginning Unreal Engine 4 Blueprints Visual Scripting,
https://doi.org/10.1007/978-1-4842-6396-9_1
Chapter 1 Introduction to Unreal Engine 4

• The Epic Games Launcher version (a.k.a. the binary


version or vanilla version) of Unreal Engine 4 comes
with the engine prebuilt, and you can select the
platforms you need. You can also select the engine
source, starter template, feature packs, and so forth, if
you need them. The binary version does not support
creating dedicated servers for your game, so if you
are planning to develop a multiplayer game with a
dedicated server, you must use the source version.

• The GitHub version (a.k.a. the source version) gives


you the entire source code of the engine without any
binaries, so you need to compile it manually. The
source code version of the engine is typically used by
developers who want to fix the engine’s bugs or add
new features. This version is also required if your game
relies on a dedicated server. The prerequisites for the
source code version of the engine are Visual Studio
2019 (or higher) on Windows or Xcode on macOS.

Download from Epic Games Launcher


If you don’t have an Epic Games account, you need to create one at
www.unrealengine.com/id/register.
If you do have an Epic Games account, then head over to
www.unrealengine.com/en-US/get-now and select your license to
download and install Epic Games Launcher for your platform. After
installation, open the launcher, and log in using your credentials. You
should see the screenshot shown Figure 1-1.

2
Chapter 1 Introduction to Unreal Engine 4

Figure 1-1. Epic Games Launcher with engine version4.24 installed

Near the ENGINE VERSIONS tab, you can see a + button, which allows
you to download and install any engine version you want.

Download from GitHub


If you prefer to work with the source version of the engine, you can do so
by downloading the engine source code and compiling it yourself, but you
must have Visual Studio 2019 (with C++ support enabled) installed if you
use Windows or Xcode if you are on macOS.
First, you must create a GitHub account (it’s free) and log in to your
Epic Games account. Once logged in, go to your account dashboard in
Epic Games and link your GitHub account. After this, you are ready to
download the full source code for Unreal Engine 4.

3
Chapter 1 Introduction to Unreal Engine 4

Downloading Source Code


Once you have access to the Unreal Engine repository, you can click the
Clone or download button and select the Download ZIP button (as seen
in Figure 1-2).

Figure 1-2. Download ZIP button in Unreal Engine Git repository

Cloning the Unreal Engine Repository


To clone a repository, you need to have a Git client installed. Cloning is
the process of downloading or copying a repository into an empty folder
in your working machine, including the full Git history, so you can use Git
commands. You only download the source code without any Git files, so
you won’t track changes or have any information about previous commits.
I use SourceTree from Atlassian.

Note If you prefer other tools, please visit https://git-scm.


com/download/gui/windows for Windows or https://git-­
scm.com/download/gui/mac for macOS.

4
Chapter 1 Introduction to Unreal Engine 4

After installing SourceTree, open the application. In the new tab, select
Add an account. In the new window, switch the hosting service to GitHub
and select the Refresh OAuth Token button. Once SourceTree has access
to your repos, you can select Unreal Engine repo from your repositories
list and then select Clone. This lets you choose a path to save the files.
Under Advanced Options, select the release branch and click the Clone
button.
Once cloning is done or after downloading the ZIP file, go to the
directory and double-click the Setup.bat file. (If you downloaded the ZIP
file, extract it first). You can include or exclude specific platforms by passing
the necessary flags in the Setup.bat file. For example, to exclude Mac and
iOS platforms on a Windows machine, you can run Setup.bat like this:

Setup.bat --exclude=Mac --exclude=iOS

This ensures that any dependencies and files required for the
Mac and iOS platforms are skipped. Once Setup.bat finishes, run
GenerateProjectFiles.bat, which generates the UE4 solution file that you
can open in Visual Studio. After opening the solution file, you can see UE4
under the Engine folder in Solution Explorer. Right-click UE4 and select
Build. This starts the build process, which might take an hour or more to
compile, depending on your hardware.

Getting to Know Unreal Editor


Now that you have installed (or compiled) your engine, let’s start it up.
Throughout this book, we only work with the binary version of the engine,
which is 4.24. You create a blank project and learn about the aspects of the
engine. To start the engine, click the Launch button for 4.24.3. This opens
the Unreal Project Browser window, where you can select an existing
project or create a new one from scratch or a template (see Figure 1-3).

5
Chapter 1 Introduction to Unreal Engine 4

Figure 1-3.

Let’s select Blank Project and click Next. On the next page, you are
prompted to either start a blank project or create one based on a template.
For our purposes, let’s select a blank template and click Next. This gives
you a project with no code or content and with the default settings. Finally,
the last page allows you to do basic configuration and name your project.
Let’s go through the Project Settings page shown in Figure 1-4.

6
Chapter 1 Introduction to Unreal Engine 4

Figure 1-4.

• Blueprint (labeled 1 in the screenshot) lets you choose


whether your project is based on Blueprints or C++. If
you start in Blueprints, you can later add C++ code to
your project.

• Depending on your project, you can change Maximum


Quality (labeled 2 in the screenshot) to Scalable
3D/2D. The first option is suitable for PCs/consoles,
and the second option is suitable for mobile.

• If you target high-end PC games and own an Nvidia


RTX graphics card, you can enable raytracing features
(labeled 3 in the screenshot) for your game.

• Desktop/Console (labeled 4 in the screenshot) lets you


select the closest equivalent target platform.

7
Chapter 1 Introduction to Unreal Engine 4

• With Starter Content (labeled 5 in the screenshot) lets


you choose if you want to copy starter content to your
project. It contains simple meshes with basic materials.

• Folder (labeled 6 in the screenshot) is where you enter


the location of the project’s folder.

• Name (labeled 7 in the screenshot) is where you enter


the name of your newly created project.

To create the project, click the Create Project button. This starts the
engine with an empty project ready for you to create.

P
 roject Structure
Next, let’s look at the project folder you just created to see how a project is
structured. If you navigate to the project folder, you should see a structure
similar to the screenshot shown in Figure 1-5.

Figure 1-5. An example project (note that the project name might
differ)

• Config: This folder is where the settings are saved when


you change editor preferences or project settings. You
can also create your config files to save data.

• Content: This folder is where all your game assets are


saved.

8
Chapter 1 Introduction to Unreal Engine 4

• Intermediate: Editor and game temporary files are


generated here. It is safe to delete this folder, and it is
automatically regenerated when the editor is started
next.
• Saved: This folder contains all the autogenerated
config files, log files, and autosaves.

The following are other folders that you might see.

• Binaries: This folder contains the DLL files for your


project. It only appears if your project contains C++
source code.

• DerivedDataCache: This folder contains versions of


your assets on its target platforms. You can safely delete
this folder, and the editor regenerates it next time.

• Source: This folder contains header (.h) and source


(.cpp) files. It only appears if your project contains C++
source code.

• Plugins: This folder contains all the plugins for your


project. To create a new plugin, your project must
contain C++.

An Unreal Editor Tour


Once the engine starts, your screen should look similar to Figure 1-6.

9
Chapter 1 Introduction to Unreal Engine 4

Figure 1-6. Default Unreal Editor user interface

Let’s go through the layout of the Unreal Editor as seen in Figure 1-6.

• The area labeled 1 is the toolbar. Here you can save the
current scene, open the Content Browser, access quick
settings, build lighting, Play In Editor, and so forth.

• The area labeled 2 is the Modes panel. Here you can


switch between different modes, such as Placing Actors
mode (default), Mesh Paint mode, Landscape mode,
Foliage mode, and Brush mode.

• The area labeled 3 is the Content Browser where you


import or create all the assets.

• The area labeled 4 is the Details panel, where you


modify the properties of the selected actor that is
placed inside a level.

10
Chapter 1 Introduction to Unreal Engine 4

• The area labeled 5 is World Outliner. It shows all actors


currently present inside the level. Using the eye icon,
you can quickly hide/unhide actors.

• The area labeled the menu bar. It allows you to add


a new C++ class, access editor and project settings,
reopen closed tabs, and so forth.

T he Toolbar
The toolbar is displayed right above the viewport. It provides easy access to
various editor commands.

• Save: Saves the current scene. If the current scene is


not saved, it prompts the user to select a location to
save the map.

• Source Control: Provides access to different source


controls, like Perforce, Git, Subversion, and so forth.
You can install other source control plugins too. Source
control is the practice of tracking and managing
changes to code or assets. You can read more about
source control at https://en.wikipedia.org/wiki/
Version_control.

• Content: Opens the Content Browser.

• Marketplace: Opens the UE4 marketplace in your


default browser.

• Settings: Gives quick access to some editor settings, as


well as Project Settings and World Settings.

• Blueprints: Creates a new Blueprint class or opens a


Level Blueprint. You learn more about Blueprints in the
next chapter.

11
Chapter 1 Introduction to Unreal Engine 4

• Cinematics: Adds level or master sequences.

• Build: Builds lighting, navigation, geometry, and so


forth. This button is disabled when Play In Session is
active, or the current level is previewing in less than
Shader Model 5.

• Play: Plays the current level in the active viewport. The


arrow next to the Play button shows a drop-down with
options that let the developer play the game in a new
window, mobile preview, as a stand-alone game, and
so forth. You can also set the game to start a dedicated
server for testing multiplayer games.

• Launch: Launches the current level in a given device.

Modes
The Modes panel switches between various tool modes for the editor. Each
mode panel can be switched by pressing Shift + 1 to 5.

• Place mode (Shift+1): Places actors in a scene.

• Paint mode (Shift+2): Allows you to vertex paint a Static


Mesh Actor directly on the viewport. This means you
can paint color data onto the vertices of the Static Mesh
Actor that is placed on the level and use that information
in the material assigned to that Static Mesh.

• Landscape mode (Shift+3): Creates new landscapes


or edits existing ones.

• Foliage mode (Shift+4): Paints foliage.

• Brush mode (Shift+5): Modifies BSP (binary space


partitioning) brushes. It is a geometry tool to quickly
prototype or block-out levels.

12
Chapter 1 Introduction to Unreal Engine 4

Content Browser
The Content Browser is the heart of your project. All the assets that make
up your blockbuster game reside here. You can import supported file
types and create new assets like Blueprint, Materials, and Sequences.
The Content Browser allows you to favorite your assets and arrange them
in your own collections for quick access, which improves your workflow
significantly. So let’s look at them.

Favorites
You can assign any folder as favorites for quick access. Favorites is not
enabled by default. You can enable it by clicking View Options in the
bottom-right corner of the Content Browser and selecting Show Favorites.
The Favorites section is visible above the main Content folder.

Note Only folders can be assigned as favorites, not assets.

13
Chapter 1 Introduction to Unreal Engine 4

Figure 1-7.

Collections
Collections allow you to organize your assets into separate collections. For
example, if you are making an open-world game, you can make different
collections for player buildings, urban buildings, objective buildings, quest
props, and so on. Each collection can have child collections, and assets can
be added or removed anytime. Removing an item from a collection does
not remove the actual asset because it is simply holding a reference inside
a collection. You can have the same asset in multiple collections and create
as many collections as you wish.
You can switch to Collections view by clicking the Switch to the
Collections view button in the Content Browser.

14
Chapter 1 Introduction to Unreal Engine 4

Figure 1-8.

There are three types of collections—Shared, Private, and Local.

• A Shared Collection can be shared with other team


members. You must have source control enabled for
this option to work.

• A Private Collection can be shared with anyone invited


to view the collection. You must have source control
enabled for this option to work.

• A Local Collection is only available to you. It is not


shared via the network. This option is always available
regardless of your source control settings.

15
Chapter 1 Introduction to Unreal Engine 4

Figure 1-9.
After creating a collection, you can drag and drop your assets into it.
You can view the number of items available inside a collection.

Figure 1-10.
16
Chapter 1 Introduction to Unreal Engine 4

As you can see in Figure 1-10, to remove an asset from a collection, you
must first select the collection, right-click the asset, and select Remove
From YourCollectionName. This removes the asset from the collection,
but it does not delete the asset.

D
 etails
The Details panel contains the selected actor’s information and functions.
It displays all the transform controls and all the editable properties of
the specific actor. All the thumbnails in the Details panel can be double-­
clicked to open in respective editors. For example, double-clicking a Static
Mesh thumbnail opens that mesh. Likewise, if you double-click a material
thumbnail, it opens that material in the Material Editor.
The Details panel also offers a search panel that filters properties
based on the text. When properties are modified, a small yellow arrow is
displayed next to it. This resets the property to its default value.

W
 orld Outliner
The World Outliner displays all the actors in the current level. When a Play
In Editor session is active, it shows all the actors spawned for the current
game in yellow color. You can select any actor in the outliner, and the
details panel shows all properties related to that actor. Drag and drop is
also supported so you can drag an actor to another to attach it. Searching is
also supported with advanced options such as exact match and exclusion.
To exclude an item from search, append - to the search term; for
example, -table shows everything except for any actor containing the term
table.
To search for an exact item, append + to the search term; for example,
+table shows everything with the exact term table.

17
Chapter 1 Introduction to Unreal Engine 4

To search for an exact item using the full term, put the term inside
double quotes (""); for example, "lunch table" shows everything with the
exact term lunch table.

Viewport
The viewport is where you spend most of your time developing your
game. It is where you see the actual game, so understanding the viewport
is crucial for your development. Pressing the G key toggles the viewport
between game mode and editor mode. Game mode displays the scene as it
appears in the game by hiding all editor-related elements.
In addition to the maximized state of the viewport, Unreal Editor
provides an additional state called Immersive mode, which is activated
by pressing the F11 shortcut key or accessing the viewport options. When
activated, the viewport is maximized to the full extent of the window
containing the viewport panel.

18
Another Random Scribd Document
with Unrelated Content
Rivers, 14, 99, 226.
Rizzio, 283.
Roads, 172, 173.
Rob Roy, 38, 98, 213.
Roderick Dhu, 62, 166, 215, 216.
Roman Wall, 15, 51.
Romans, 51–53, 279.
Rome, 15, 264.
“Roslyn Castle,” 163.
Roslyn Chapel, 43.
Rous, 258, 262.
Ruins, 39–42, 47, 70, 71, 192, 200, 205.
Ruskin, 128, 133.
Russia, 256.
Russian fleet, 194.
Rutgers College, 58.

Sabbath, 17, 37.


St. Andrews, 80, 244, 247, 280.
St. Giles, 268, 284.
St. Kentigern, 21.
St. Martin, 128.
St. Modan, 43.
St. Nicholas, 206.
St. Winifred, 264.
Saints, 21.
Santa Claus, 206.
Sassenach, or Saxons, 152.
Saxe, John G., 60.
Scandinavians, 121, 127, 280.
Scenery, 55, 103–04, 205, 212.
Schaff, Philip, 250, 251, 255.
Schools, 199.
Scone, 265, 281.
Scotch-Irish, 272–74.
Scotland, 7, 9, 51–54, 257, 280.
Scots in America, 63, 72, 122, 123, 128, 148, 218, 223, 236, 272.
Scots in England, 241, 248, 252, 254, 255, 258, 285.
Scott, Michael, 38, 41, 42.
Scott, Sir Walter, 18, 28, 41–44, 46–49, 96, 219, 246, 286.
Scrooby, 264.
Serfs, 170.
Servants, 262, 263.
Shakespeare, 45, 89.
Shaler, Prof. N. S., 275.
Sharp, Archbishop, 285.
Shaving, 43.
Sheep, 181, 207, 208.
Shenstone, William, 259.
Shetlands, 204, 210.
Shields, 172.
See Targets.
Shoes, 145, 167.
Skye, 210.
Snobs, 143, 144.
Snowdon, 99, 216, 217.
Soap, 26, 33, 140.
Songs, 105, 116–18, 139, 140, 154, 156, 164, 184, 185, 228, 232.
Spain, 206, 236, 248, 283.
Spaniards, 206–08.
Spearman, 151.
Speech, 3, 12, 56.
Spurs, 62.
Staffa, 123–25.
Stage, 63.
Stage-riding, 111, 215.
Stars and Stripes, 14, 163.
Stirling, 97–107.
Stone Haven, 65, 192.
Strathclyde, 56, 280.
Strathmore, 97, 100.
Streets, 31, 32, 199.
Stuarts, 101, 155, 157, 160, 167, 168, 271, 282, 285.
Suffragettes, 250.
Sullivan, General John, 63.
Sutherland, 210.
Switzerland, 33.
Swords, 15, 20, 149–52, 172, 219, 274.

Tam o’ Shanter, 226.


Targets, 150, 151, 172.
Tartans, 109, 110, 187, 188, 190.
Tatnall, Commodore, 197.
Tay River, 68, 77, 279.
Tea, 154, 261.
Temperament, 221, 222.
Teutonic tribes, 24, 257, 280.
Thackeray, 143.
Thistle, 101, 206, 282.
Ticonderoga, 167.
Tobacco, 25.
Togo, Admiral, 194.
Towers, 50, 55, 205, 209, 210.
Trawlers, 194, 195.
Trees, 93.
Tron, 84.
Trossachs, 214–16.
Tulchan Bishops, 242, 243.
Turner, 217.
Tweed River, 41–43, 54.

Ulster, 271, 272–74.


Ultima Thule, 205.
Union Jack, 284.
Union of England and Scotland, 100, 282, 284, 285.
United States, 196, 276–77.
United States of the World, 62, 227.
Unst, 205.

Vassar College, 276.


Venezuela, 260, 265.
Vengeance, 166, 167.
Victoria, Queen, 70, 83, 286.
Vikings, 121.

Wade, General, 172–76, 285.


Wales, 24.
Wallace, William, 15, 77, 281.
Ward Chapel, 80.
Wardens, 58.
War of 1914, 140, 165, 190, 194, 195, 202, 265, 266, 268, 269.
Washerwomen, 145.
Waterfalls, 138.
Water-power, 213, 216.
Watt, James, 131.
Waves, 7, 192, 203.
Weather, 132, 135–37, 203.
Western Islands, 120.
Whales, 205.
Whiskey, 140, 181.
White, Andrew D., 73.
White Cockade, 156.
Whittier, 243.
Wigtown, 285.
William III, 110–16, 122, 132, 285.
William of Deloraine, 38, 40.
William of Orange, 237, 238, 241.
William the Lion, 146, 281.
Wishart, George, 78, 79.
Witchcraft, 226, 282.
Wolfe, 160.
Women and John Knox, 250–54.
Wordsworth, 1.
Wynds, 30.

Yew Isle, 213.


Yew trees, 213.
The Riverside Press
CAMBRIDGE . MASSACHUSETTS
U . S . A
Transcriber’s Notes
Punctuation, hyphenation, and spelling were made
consistent when a predominant preference was found in the
original book; otherwise they were not changed.
Simple typographical errors were corrected; unbalanced
quotation marks were remedied when the change was
obvious, and otherwise left unbalanced.
Illustrations in this eBook have been positioned between
paragraphs and outside quotations. In versions of this eBook
that support hyperlinks, the page references in the List of
Illustrations lead to the corresponding illustrations.
The index was not checked for proper alphabetization or
correct page references.
*** END OF THE PROJECT GUTENBERG EBOOK BONNIE
SCOTLAND AND WHAT WE OWE HER ***

Updated editions will replace the previous one—the old editions


will be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright
in these works, so the Foundation (and you!) can copy and
distribute it in the United States without permission and without
paying copyright royalties. Special rules, set forth in the General
Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the


free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree to
abide by all the terms of this agreement, you must cease using
and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only


be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project
Gutenberg™ works in compliance with the terms of this
agreement for keeping the Project Gutenberg™ name
associated with the work. You can easily comply with the terms
of this agreement by keeping this work in the same format with
its attached full Project Gutenberg™ License when you share it
without charge with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project


Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project
Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:

This eBook is for the use of anyone anywhere in the United


States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it
away or re-use it under the terms of the Project Gutenberg
License included with this eBook or online at
www.gutenberg.org. If you are not located in the United
States, you will have to check the laws of the country where
you are located before using this eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is


derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of the
copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is


posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute
this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must, at
no additional cost, fee or expense to the user, provide a copy, a
means of exporting a copy, or a means of obtaining a copy upon
request, of the work in its original “Plain Vanilla ASCII” or other
form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or


providing access to or distributing Project Gutenberg™
electronic works provided that:

• You pay a royalty fee of 20% of the gross profits you derive from
the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt that
s/he does not agree to the terms of the full Project Gutenberg™
License. You must require such a user to return or destroy all
copies of the works possessed in a physical medium and
discontinue all use of and all access to other copies of Project
Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project


Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright
law in creating the Project Gutenberg™ collection. Despite
these efforts, Project Gutenberg™ electronic works, and the
medium on which they may be stored, may contain “Defects,”
such as, but not limited to, incomplete, inaccurate or corrupt
data, transcription errors, a copyright or other intellectual
property infringement, a defective or damaged disk or other
medium, a computer virus, or computer codes that damage or
cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES -


Except for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU
AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE,
STRICT LIABILITY, BREACH OF WARRANTY OR BREACH
OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE
TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER
THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR
ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE
OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF
THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If


you discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person or
entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.
If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.

1.F.4. Except for the limited right of replacement or refund set


forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the


Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you do
or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.

Section 2. Information about the Mission of


Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new
computers. It exists because of the efforts of hundreds of
volunteers and donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project
Gutenberg™’s goals and ensuring that the Project Gutenberg™
collection will remain freely available for generations to come. In
2001, the Project Gutenberg Literary Archive Foundation was
created to provide a secure and permanent future for Project
Gutenberg™ and future generations. To learn more about the
Project Gutenberg Literary Archive Foundation and how your
efforts and donations can help, see Sections 3 and 4 and the
Foundation information page at www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-
profit 501(c)(3) educational corporation organized under the
laws of the state of Mississippi and granted tax exempt status by
the Internal Revenue Service. The Foundation’s EIN or federal
tax identification number is 64-6221541. Contributions to the
Project Gutenberg Literary Archive Foundation are tax
deductible to the full extent permitted by U.S. federal laws and
your state’s laws.

The Foundation’s business office is located at 809 North 1500


West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
links and up to date contact information can be found at the
Foundation’s website and official page at
www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission
of increasing the number of public domain and licensed works
that can be freely distributed in machine-readable form
accessible by the widest array of equipment including outdated
equipment. Many small donations ($1 to $5,000) are particularly
important to maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws


regulating charities and charitable donations in all 50 states of
the United States. Compliance requirements are not uniform
and it takes a considerable effort, much paperwork and many
fees to meet and keep up with these requirements. We do not
solicit donations in locations where we have not received written
confirmation of compliance. To SEND DONATIONS or
determine the status of compliance for any particular state visit
www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states


where we have not met the solicitation requirements, we know
of no prohibition against accepting unsolicited donations from
donors in such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot


make any statements concerning tax treatment of donations
received from outside the United States. U.S. laws alone swamp
our small staff.

Please check the Project Gutenberg web pages for current


donation methods and addresses. Donations are accepted in a
number of other ways including checks, online payments and
credit card donations. To donate, please visit:
www.gutenberg.org/donate.

Section 5. General Information About Project


Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.

Project Gutenberg™ eBooks are often created from several


printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like