Book Image

Unreal Engine 5 Game Development with C++ Scripting

By : ZHENYU GEORGE LI
Book Image

Unreal Engine 5 Game Development with C++ Scripting

By: ZHENYU GEORGE LI

Overview of this book

Unreal Engine is one of the most popular and accessible game engines in the industry, creating multiple job opportunities. Owing to C++ scripting's high performance, advanced algorithms, and engineering maintenance, it has become the industry standard for developing commercial games. However, C++ scripting can be overwhelming for anyone without a programming background. Unreal Engine 5 Game Development with C++ Scripting will help you master C++ and get a head start on your game development journey. You’ll start by creating an Unreal Engine C++ project from the shooter template and then move on to building the C++ project and the C++ code inside the Visual Studio editor. You’ll be introduced to the fundamental C++ syntax and essential object-oriented programming concepts. For a holistic understanding of game development, you’ll also uncover various aspects of the game, including character creation, player input and character control, gameplay, collision detection, UI, networking, and packaging a completed multiplayer game. By the end of this book, you’ll be well-equipped to create professional, high-quality games using Unreal Engine 5 with C++, and will have built a solid foundation for more advanced C++ programming and game development technologies.
Table of Contents (18 chapters)
1
Part 1 – Getting Started with Unreal C++ Scripting
6
Part 2 – C++ Scripting for Unreal Engine
12
Part 3: Making a Complete Multiplayer Game

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The AProjectile class can be inherited as child classes for creating various fireable objects, such as AFireBall, AMissile, ABomb, and so on."

A block of code is set as follows:

#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "DefenseTower.generated.h

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

void APangaeaCharacter::BeginPlay()
{
…
_AnimInstance = Cast<UPangaeaAnimInstance>(
GetMesh()->GetAnimInstance());
…
}

Any command-line input or output is written as follows:

$ mkdir css
$ cd css

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "In the Unreal Project Browser window, choose the GAMES tab on the left side. Then select the First Person template."

Tips or important notes

Appear like this.

Additionally, the C++ sample code provided in this book adheres primarily to Unreal Engine’s coding standard, ensuring consistency and minimizing confusion for readers. For detailed information, you can visit the official Code Standard website here: https://docs.unrealengine.com/5.0/en-US/epic-cplusplus-coding-standard-for-unreal-engine/.

Exceptions may occur when using compact expressions that are clear and easily understood, allowing the text to fit within the constraints of the page printing layout without compromising reader comprehension. For example, the following line of code follows the code standard by explicitly declaring the type of the assigned GameInst variable:

UPlayerAvatarAnimationInstance* GameInst = Cast   <UPlayerAvatarAnimationInstance>(GetMesh()->GetAnimInstance())

The following modified version is used instead:

auto GameInst = Cast<UPlayerAvatarAnimationInstance>(
  GetMesh()->GetAnimInstance())