Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Unreal Engine 5 Game Development with C++ Scripting
Unreal Engine 5 Game Development with C++ Scripting

Unreal Engine 5 Game Development with C++ Scripting: Become a professional game developer and create fully functional, high-quality games

Arrow left icon
Profile Icon ZHENYU GEORGE LI
Arrow right icon
zł59.99 zł161.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.3 (27 Ratings)
eBook Aug 2023 384 pages 1st Edition
eBook
zł59.99 zł161.99
Paperback
zł201.99
Subscription
Free Trial
Arrow left icon
Profile Icon ZHENYU GEORGE LI
Arrow right icon
zł59.99 zł161.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.3 (27 Ratings)
eBook Aug 2023 384 pages 1st Edition
eBook
zł59.99 zł161.99
Paperback
zł201.99
Subscription
Free Trial
eBook
zł59.99 zł161.99
Paperback
zł201.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

Unreal Engine 5 Game Development with C++ Scripting

Creating Your First Unreal C++ Game

Unreal Engine (UE) is one of the most popular 3D computer graphics game engines developed by Epic Games, providing a comprehensive set of tools and functionalities to develop high-quality, immersive 3D simulations. The engine offers its intuitive visual scripting system, Blueprint, and a robust C++ programming framework for developers of all skill levels. This book provides a concise introduction to C++ programming and demonstrates how to write C++ scripts in UE for game development.

In this chapter, you will learn the essential skill of creating an Unreal C++ project from scratch or converting an existing Unreal Blueprint project into an Unreal C++ project, which serves as a fundamental skill to advance in game development. By mastering this process, you will gain the necessary foundation to take your game development abilities to the next level.

This chapter will cover the following topics:

  • Understanding C++ scripting in Unreal
  • Creating your C++ shooter project from a template
  • Converting an existing Blueprint project to a C++ project

Technical requirements

As a reader of this book, you will be expected to have common computer operational skills. You should also have basic knowledge of and experience with the UE5 editor, as well as some Blueprint scripting skills.

To follow this chapter, you should have installed Epic Games Hub and the 5.03 or later version of the engine editor on your computer. If you haven’t done so, please go to the official Epic website (https://www.unrealengine.com/en-US) to register an account and download the Epic Games Launcher.

The minimum required development environment is as follows:

  • Operating system: Windows 10
  • Processor: Intel 7th generation or equivalent
  • Memory: 16 GB of RAM
  • GPU: GTX 1080 (or AMD equivalent)
  • DirectX: Version 12
  • Storage: 25 GB of available space
  • Additional notes: 8 GB of VRAM recommended

The official system requirements can be found here: https://docs.unrealengine.com/5.0/en-US/hardware-and-software-specifications-for-unreal-engine/. To save game editing time in the UE5 editor, it is recommended to use a computer with an i9 (or an AMD equivalent) CPU, 64 GB of RAM, and a GeForce RTX 3060 video card.

Understanding C++ scripting in Unreal

Before getting started, we need to answer some questions that people usually ask about C++ scripting. This will help to clarify the pros and cons of using C++, the reasons to use C++, and the difference between UE C++ scripting and C++ programming.

What is the difference between C++ and Blueprint?

Both C++ and Blueprint are scripting languages that can accomplish the same tasks, but one might be better suited than the other under certain circumstances. The main difference between them is that C++ is a programming language that allows you to write general-purpose, text-based code, whereas Blueprint is a visual scripting system for UE.

For UE projects, game studios usually use both C++ and Blueprint to develop commercial-level games. C++ is usually used for advanced techniques, complex algorithms, and big-scale logic code. If you can script with C++, you will have more chances to work on a professional team.

One of the most important advantages of using C++ is performance. C++ allows you to write low-level operational code. It also provides control over the core system that is not accessible to Blueprint. In addition, the final C++ code will eventually be optimized and compiled to be machine-friendly binary native code. On the other hand, Blueprint scripts are interpreted and executed by a middle layer, which means more execution time.

C++ code and files can be well-organized based on an entire project’s mechanics. It is easy to globally search, locate, and access code blocks to edit, maintain, and troubleshoot. In the meantime, it is also easier to read and understand a big chunk of code that implements complex algorithms and logic. Blueprint, on the other hand, is a context-sensitive scripting environment. Blueprint graphs are relatively independent. When a graph needs to solve complex logic, the nodes and the connection lines create messy spaghetti that can hardly be understood and maintained.

C++ also has some shortcomings. One example is that it may cause critical errors that may crash an entire system. That is usually caused by the developer’s mistakes. Since Blueprint is a protected layer, it is safer, and hence, the chances of the system crashing are fewer.

In conclusion, the choice between C++ and Blueprint should be made based on specific development requirements and conditions, considering the pros and cons of each approach.

When do you use C++?

Both C++ and Blueprint can handle game development processes without a problem. There is no exact rule that regulates when to use C++ or Blueprint. It mainly depends on your experience and the actual needs of different games. You make your own decision based on how much you know about the two scripting systems.

Before you start working on something, you can ask yourself this question: “Where does it make sense to use C++, and where does it make sense to use Blueprints?” We recommend basing your answer on the following aspects and trade-offs:

  • Performance
  • Logic and algorithm complexity
  • Accessibility to a system’s core functions
  • The developer’s experience

If you want higher performance and deal with advanced game logic and system processes, and you are capable of coding and solving complex problems, you should go for C++.

What is the difference between C++ programming and C++ scripting?

You may be confused about the difference between C++ programming and C++ scripting. We want to clarify the meanings of these two terms.

C++ programming means using the C++ programming language to write code for any purpose; it doesn’t have to be just for UE projects. C++ scripting, in this book, is a specific dialect of the C++ programming language supported by the UE. It takes advantage of the power of C++ syntax and also works with UE’s Application Programming Interfaces (APIs), which allow developers to create and extend the engine’s functionalities for their games and the development environment’s context, such as objects, graphics, audio, and network communication.

Now that we have a basic overview of C++ and have learned why and when to use C++ for Unreal game developments, let’s dive deeper into C++ scripting by creating a sample project.

Creating your C++ Shooter project from a template

Now, it’s the time to get your hands dirty working on a UE5 C++ project yourself. We will go through the steps to create a new C++ project from scratch based on the First Person template.

The First Person template is one of the default game templates that come with UE. When you want to create a new project, you can pick this template from the Unreal Project Browser window. Our new MyShooter game will derive all the features from the template game, and we don’t have to do any additional work.

To get started with C++ scripting, we first need to install an IDE. In this book, we will use MS Visual Studio 2022 as an example.

Installing Visual Studio 2022

Visual Studio (VS) is an Integrated Development Environment (IDE) from Microsoft. It is a tool used to create, edit, debug, and compile code. In order to do C++ scripting, you need to go to the official website at https://visualstudio.microsoft.com/vs/ and download the Community 2022 version installation package (see Figure 1.1).

Figure 1.1 – Downloading VS 2022

Figure 1.1 – Downloading VS 2022

Note

To install VS, a Microsoft account is typically required. If you don’t have a Microsoft account, you can register using the following page: https://account.microsoft.com/account/.

Next, launch VisualStudioSetup.exe inside the folder where you downloaded the VS installer (the \Downloads folder, for example).

Enable the two Game development with C++ and Desktop development with C++ checkboxes – these two options tell the installer to install the C++ compiler and the professional game development support for UE (see Figure 1.2).

Figure 1.2 – Picking workloads for the VS installation

Figure 1.2 – Picking workloads for the VS installation

Also, keep an eye on the following options on the Installation details panel that belongs to the Desktop development with C++ group, and make sure the following are checked:

  • C++ profiling tools
  • C++ AddressSanitizer
  • Windows 10 SDK
  • IntelliCode
  • IDE support for Unreal Engine

Then, click the Install button to install the workloads and reboot the system, and then you will see a prompt from the dialog popup (see Figure 1.3):

Figure 1.3 – The VS Done installing dialog box

Figure 1.3 – The VS Done installing dialog box

The next thing we need to do is to confirm that we have installed the engine source code together with the UE5 editor. The reason why we need this is that when we generate a new project, the engine source code can be integrated into the new project; under certain circumstances, we may need to modify or customize the engine for the game’s specific needs.

Ensuring your UE has the source code installed

Before launching the UE5 editor, we first need to check whether Engine Source is installed for the editor. By doing this check, we make sure that the UE5 source code is integrated with the C++ projects we are going to create.

The three steps to check or install the engine source code are as follows:

  1. Click the downward arrow button and choose Options from the drop-down menu.
  2. Make sure that the Engine Source option is checked.
  3. Press the Apply button:
Figure 1.4 – The UE5 Options menu

Figure 1.4 – The UE5 Options menu

UE is an ongoing development product, with bugs and defects that may need to be fixed by its users. Also, professional developers sometimes modify the engine source code to adapt to their specific needs. An example of this is when we face an issue with geometry instancing (or instanced rendering) working only in the game’s development build but not in the release build, which is subsequently resolved by our engineer modifying the engine’s source code.

Note

Geometry instancing is a rendering technique that renders multiple instances of a visual object in a single draw call and provides each instance with some unique attributes: https://en.wikipedia.org/wiki/Geometry_instancing.

We are now ready to start the UE editor through the Epic Games Launcher.

Launching the UE5 editor through the Epic Games Launcher

Launching the UE5 editor is pretty straightforward. You simply click the Launch button on the 5.03 engine card to start the editor (see Figure 1.5).

Figure 1.5 – Launching the UE5 editor from the Epic Games Launcher

Figure 1.5 – Launching the UE5 editor from the Epic Games Launcher

The next thing we want to do is to create a new game project. Let’s name the new project MyShooter.

Creating the MyShooter C++ project

To create the project, follow these steps (and see Figure 1.6 for reference):

  1. In the Unreal Project Browser window, choose the GAMES tab on the left side.
  2. Select the First Person template.
  3. Select the C++ button.
  4. Choose the project location (for example, C:\UEProjects) and type MyShooter in the Project Name field.
  5. Click the Create button.
Figure 1.6 – Creating the MyShooter project

Figure 1.6 – Creating the MyShooter project

The created game project also includes the starter content, which is packaged with assets and resources that can be used to prototype the game.

The engine will do some initialization work and then open the editor when things are ready. If you look at the project tree panel’s MyShooter tab in the bottom-left corner of the editor window, you should see the C++ Classes node on the same layer as the Content node (see Figure 1.7).

Figure 1.7 – The MyShooter C++ project opened in the UE5 editor

Figure 1.7 – The MyShooter C++ project opened in the UE5 editor

Associating VS with UE5 as the default source code editor

Since we created the C++, project, all the C++ source code for the game was already generated. To open the source files directly in the UE5 editor, we want to associate VS as the engine editor’s default IDE.

On the UE5 Editor’s main menu, select Edit | Editor Preferences to open the preference window, then find the General | Source Code item on the left panel, and finally, pick Visual Studio 2022 from the Source Code Editor dropdown (see Figure 1.8).

Figure 1.8 – Making VS the default source code editor

Figure 1.8 – Making VS the default source code editor

You can now use VS to open the source code files.

Opening the C++ source code in VS (optional)

If you want to open and view the C++ source code in VS, you can find the source code file (for example, C++/MyShooter/MyShooterCharacter.cpp) in the project and simply double-click on it (see Figure 1.9).

Figure 1.9 – Opening MyShooterCharacter.cpp source code in VS

Figure 1.9 – Opening MyShooterCharacter.cpp source code in VS

The system will automatically launch VS, and the VS editor will open the MyShooterCharacter.cpp file (see Figure 1.10).

Figure 1.10 – Viewing the MyShooterCharacter.cpp source code in VS

Figure 1.10 – Viewing the MyShooterCharacter.cpp source code in VS

Back in the Unreal editor, click the Play (A picture containing text, electronics, clock radio

Description automatically generated) button to start the game. While playing the game on the battlefield, you can control your character, move them around, and pick up the gun in front of them (see Figure 1.11).

Figure 1.11 – Playing the MyShooter game

Figure 1.11 – Playing the MyShooter game

We have learned how to create a UE C++ project from scratch. However, what if we already have a Blueprint project and want to convert it to a C++ project? UE allows developers to do it by adding a new C++ class to the project. Let’s practice converting a MyBPShooter Blueprint project.

Converting an existing Blueprint project to a C++ project

UE provides a very straightforward way to convert an existing Blueprint project to a C++ project. All you need to do is add a C++ class to your project and then let UE take care of the conversion and add the needed project files:

  1. First of all, you have to create a Blueprint project, MyBPShoopter, under C:\UEProjects (you can choose a different path to create the new project). Use the same steps introduced in the Creating the MyShooter C++ project section, but choose BLUEPRINT instead of C++ for the creation of the MyBPShooter project.
Figure 1.12 – Creating MyBPShooter in UE5

Figure 1.12 – Creating MyBPShooter in UE5

  1. Secondly, open the new project in UE5. Pay attention to the project tree; it doesn’t have the C++ Classes node at this stage.
Figure 1.13 – Open MyBPShooter in UE5

Figure 1.13 – Open MyBPShooter in UE5

  1. Select Tools | New C++ Class from the editor’s main menu, and then, in the Add C++ Class window (see Figure 1.14), choose Character as the base class (a class that contains common attributes and methods that are shared by its derived classes) to create the MyShooterCharacter class.
Figure 1.14 – Adding a new C++ class from the Character class

Figure 1.14 – Adding a new C++ class from the Character class

Once you click the Next> button, it will navigate to the NAME YOUR NEW CHARACTER screen.

  1. On the NAME YOUR NEW CHARACTER screen, type MyBPShooterCharacter into the Name field.
Figure 1.15 – Adding the MyBPShooterCharacter C++ class

Figure 1.15 – Adding the MyBPShooterCharacter C++ class

Please pay attention to the path where the header and the source files will be placed. They look different from the MyShooter project because the C++ node hasn’t been created yet. Don’t worry about it at the moment. Once the conversion job is done, the system will automatically move the files to the right place.

  1. After clicking the Create Class button, you will see a progress bar.
Figure 1.16 – The MyBPShooterCharacter C++ class Adding code to project… progress bar

Figure 1.16 – The MyBPShooterCharacter C++ class Adding code to project… progress bar

Wait for the pop-up message, which indicates that the C++ class job has been added.

Figure 1.17 – A message saying that the MyBPShooterCharacter C++ class is now added

Figure 1.17 – A message saying that the MyBPShooterCharacter C++ class is now added

  1. Click the OK button. Now, you will see the message dialog, which asks you whether you want to edit the code (see Figure 1.18). Choose No here.
Figure 1.18 – Dialog for editing the MyBPShooterCharacter source code

Figure 1.18 – Dialog for editing the MyBPShooterCharacter source code

  1. Shut down your UE editor and reopen MyBPShooter. When you see a dialog that asks whether you want to rebuild the project, answer Yes here.
Figure 1.19 – The rebuilding MyBPShooter dialog

Figure 1.19 – The rebuilding MyBPShooter dialog

When it is done, you will find the new C++ Classes node on the project tree, and the MyShooterCharacter class is already placed in the MyBPShooter folder:

Figure 1.20 – The converted MyBPShooter C++ project

Figure 1.20 – The converted MyBPShooter C++ project

You may have noticed that some other files, such as MyBPShooterGameMode are missing, in comparison with the MyShooter project. That is because the Blueprint versions already exist, so the corresponding C++ versions are not automatically generated. You can choose to manually convert those blueprints to C++ classes only when necessary; otherwise, you just keep the blueprints.

Summary

In this chapter, we introduced C++ and the advantages of using it for professional game development. Then, you practiced creating the new MyShooter C++ project and converting the MyBPShooter Blueprint project to a C++ project. Plus, you also set up the development environment with VS and the C++ solution files.

In the next chapter, we will first walk through each part of the IDE’s user interface. Then, you will create a C++ project and practice writing some simple C++ code. Some code editing tricks will be introduced while editing your code.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn C++ programming as well as C++ scripting for Unreal Engine 5
  • Practice the UE5 scripting APIs through a game project to improve your knowledge and skills
  • Explore essential techniques and development cycles including design, implementation, optimization, and publishing

Description

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.

Who is this book for?

This book is for game designers, artists, software engineers, and students with some experience in using Unreal Engine and looking to explore the enigmatic C++ scripting. Basic experience with the UE editor is expected and blueprint scripting is a must. Familiarity with game concepts such as game level, lights, camera, actor/pawn/character, transformation, animation, and player control will be beneficial.

What you will learn

  • Develop coding skills in Microsoft Visual Studio and the Unreal Engine editor
  • Discover C++ programming for Unreal Engine C++ scripting
  • Understand object-oriented programming concepts and C++-specific syntax
  • Explore NPC controls, collisions, interactions, navigation, UI, and the multiplayer mechanism
  • Use the predefined Unreal Engine classes and the programming mechanism
  • Write code to solve practical problems and accomplish tasks
  • Implement solutions and methods used in game development

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 30, 2023
Length: 384 pages
Edition : 1st
Language : English
ISBN-13 : 9781804615263
Vendor :
Epic Games
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning

Product Details

Publication date : Aug 30, 2023
Length: 384 pages
Edition : 1st
Language : English
ISBN-13 : 9781804615263
Vendor :
Epic Games
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just zł20 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just zł20 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 596.97 674.97 78.00 saved
Unreal Engine 5 Game Development with C++ Scripting
zł201.99
Game Development Patterns with Unreal Engine 5
zł161.99
Blueprints Visual Scripting for Unreal Engine 5
zł232.99 zł310.99
Total 596.97 674.97 78.00 saved Stars icon

Table of Contents

17 Chapters
Part 1 – Getting Started with Unreal C++ Scripting Chevron down icon Chevron up icon
Chapter 1: Creating Your First Unreal C++ Game Chevron down icon Chevron up icon
Chapter 2: Editing C++ Code in Visual Studio Chevron down icon Chevron up icon
Chapter 3: Learning C++ and Object-Oriented Programming Chevron down icon Chevron up icon
Chapter 4: Investigating the Shooter Game’s Generated Project and C++ Code Chevron down icon Chevron up icon
Part 2 – C++ Scripting for Unreal Engine Chevron down icon Chevron up icon
Chapter 5: Learning How to Use UE Gameplay Framework Base Classes Chevron down icon Chevron up icon
Chapter 6: Creating Game Actors Chevron down icon Chevron up icon
Chapter 7: Controlling Characters Chevron down icon Chevron up icon
Chapter 8: Handling Collisions Chevron down icon Chevron up icon
Chapter 9: Improving C++ Code Quality Chevron down icon Chevron up icon
Part 3: Making a Complete Multiplayer Game Chevron down icon Chevron up icon
Chapter 10: Making Pangaea a Network Multiplayer Game Chevron down icon Chevron up icon
Chapter 11: Controlling the Game Flow Chevron down icon Chevron up icon
Chapter 12: Polishing and Packaging the Game Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Most Recent
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.3
(27 Ratings)
5 star 66.7%
4 star 11.1%
3 star 7.4%
2 star 11.1%
1 star 3.7%
Filter icon Filter
Most Recent

Filter reviews by




B Atkins Sep 05, 2024
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
I want to keep my review brief as several reviewers have covered my thoughts pretty well already.It's clear the author knows what they are talking about but maybe aren't quite suited for instructional workflow. As the title above states, when the book is 'good' its very good at explaining things in a way that even a C++/Unreal noob can understand, but as other reviewers have said - when it's bad there are spelling errors, syntactical errors, and missing CRUCIAL steps left out (likely by mistake) which causes anyone who may be following along in the project to become frustrated.Around Chapters 6/7 is where the wheels really fall off. Don't get me wrong I'm happy to do some problem solving but this goes beyond that and creates a lack of motivation, especially in anyone such as myself who is newer to C++/Unreal Engine. As another reviewer said, it seems like the end of the book and the subsequent editing were rushed to get it done and the user ultimately suffers.If a 2e comes out and remedies the problems in this edition, I'd happily raise my review of the book, however, I'd recommend steering clear of this book if you're newer as you find yourself confused and frustrated at no fault of your own.
Amazon Verified review Amazon
John Smith Aug 29, 2024
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
Not entirely worthless. I did learn a few elements and details as a beginner I wasn't aware of, but to be honest, I would have been better off spending my time evaluating sample projects. If you are new to Unreal5, just start with learning blueprints via the official documentation website under "Programming and Scripting". You can't get anywhere without knowing how Unreal blueprints work. Unreal C++ is good for making things, but between build times and ease of manipulation, blueprints is how you want to use objects. Half the book is about the editor anyways without talking about using Unreal C++.An entire 40 page padding chapter for just learning C++. I wish these books would stop teaching what is a byte and the set language every time for padding. A waste of space covering animations, it's just one chapter plugging in a pre-made model.Details start falling apart in chapter 6 with bad typos on C++ code and names. Seemed like this is the turning point to rush and finish writing the book. Weird use of using delta time every tick to count down timers when there are much better ways. The details that it covers are too shallow to get much out of it, and better code is sometimes addressed several chapters later, not a good way to teach refactoring at such a basic level of complexity. Could have given at least 10 more pages for refactoring for beginners and debugging. Most of the book is just following hand holding instructions. Concepts are explained here, but that's not what the page count goes towards, maybe 25% is actual learning material.Overall the book is just too shallow while focused on giving you instructions leading up to building 1 sample game.
Amazon Verified review Amazon
Ruben Jul 12, 2024
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
1) I feel this book wastes a lot of time in the beginning trying to teach C++ concepts, when I feel there should already be a general expectation of base C++ knowledge going in. I feel like the near 100 pages of C++ prep takes up valuable room from the rest of the book for the author to be more concise and explain concepts with the engine, with more clarity. 2) There are handful of sections where I have found that the author has refactored code, without informing the reader that he has done so. Everything I found was small changed, but if I did not have the base C++ experience that I do up to this point, I'm sure it would have left me confused. 3) There are discrepancies between what the code should read, based on following the book, and the provided code in the GitHub resource, provided by the author. The GitHub has the code shown by chapter, but there are places where it just doesn't sync with the book, and, I believe, potential errors in the GitHub code. 4) The authors code, in some places, is just not correct. I had to go back in certain places and correct it myself, because the author's code was confusing one class for another, and interchanging the code between two different classes. 5) There are instances where it is obvious the author has not gone through his own method, and tested it for issues. There have been hangups that I have had to troubleshoot myself, with no guidance from the author. If the author had gone through his own tutorial, he may have been able to warn the reader about potential issues. I am now stuck on chapter 7, with no discernable path forward. At this point, given how many times I have had to stop, and fix a problem, and pour over the author's instructions to make sure that I'm not missing anything, and come up empty handed, as I have followed the instructions to their entirety, I am giving up on this book, and cannot recommend it to anyone.
Subscriber review Packt
Cesar May 30, 2024
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
I am at chapter 8 at the moment. The book skips over some things, so you will have to find out on your own what to do. This specific chapter gets really messy, and you have to go dig into the Github code to make sense of it. Even if you do, some if it does not compile or is different from what you sometimes see in the chapter. Not a big deal if you have experience, but if you are new to game development this is not the book for you. As of this writing, UE5 has deprecated the input system that is used within the book, so you also need to figure out the new setup. I cannot really recommend it.
Subscriber review Packt
Phillip Reid Dec 19, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
About myself: I'm a level designer with a programming background, and I've been using Unreal Engine for over 3 years now. I've worked on projects using both Unreal Blueprints and C++, and for both multiplayer and singleplayer games. I was gifted copy of the ebook, and just finished looking through it.I can confidently say that I recommend grabbing this book for anyone getting serious in game dev, especially if you'd like to enter the industry. This book is NOT for absolute beginners who have never touched a game engine (there are a multitude of great beginner tutorials on YouTube for that). People with previous experience in coding, even visual coding like Blueprints, will benefit far more from this text. This book will equip you with the skills necessary to code in Unreal with C++, which can actually work alongside Blueprints in the same project.After teaching the basics of C++, the reader is walked through the creation of a simple top-down action game, titled "Pangea" by the the text. While creating this game, the reader is taught important concepts that will help them in game development, covering refactoring, game optimization, and basic programming patterns. Later, the text teaches game networking with Unreal 5 by walking through upgrading "Pangea" into a fully functional multiplayer game, as well as where to take the project next.If you follow this book through, you will have the fundamental skills to work on projects involving C++, and have a basic multiplayer game that you can share and play with friends (great on a portfolio).
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.