<p><span>Get hands-on with game development tools and techniques to build game project using the latest version of Unreal Engine and C++, two of the most widely used tools in the games industry</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Kickstart your career or develop a new hob
Elevating Game Experiences with Unreal Engine 5: Bring your game ideas to life using the new Unreal Engine 5 and C++, 2nd Edition
β Scribed by Goncalo Marques, Devin Sherry, David Pereira, Hammad Fozi
- Publisher
- Packt Publishing
- Year
- 2022
- Tongue
- English
- Leaves
- 760
- Edition
- 2
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Get hands-on with game development tools and techniques to build game project using the latest version of Unreal Engine and C++, two of the most widely used tools in the games industry
Key Features
- Kickstart your career or develop a new hobby by learning game development with Unreal Engine 5 and C++
- Learn techniques to prototype and develop your own ideas with key images printed in color
- Reinforce your skills with project-based learning by building a series of games from scratch
Book Description
Immerse yourself in the Unreal game projects with this book, written by four highly experienced industry professionals with many years of combined experience with Unreal Engine. Elevating Game Experiences with Unreal Engine 5 will walk you through the latest version of Unreal Engine by helping you get hands-on with the game creation projects.
The book starts with an introduction to the Unreal Editor and key concepts such as actors, blueprints, animations, inheritance, and player input. You'll then move on to the first of three projects, building a dodgeball game, where you'll learn the concepts of line traces, collisions, projectiles, user interface, and sound effects. You'll also discover how to combine these concepts to showcase your new skills. The second project, a side-scroller game, will help you implement concepts such as animation blending, enemy AI, spawning objects, and collectibles. And finally, you'll cover the key concepts in creating a multiplayer environment as you work on the third project, an FPS game.
By the end of this Unreal Engine book, you'll have a broad understanding of how to use the tools that the game engine provides to start building your own games.
What you will learn
- Create a fully functional third-person character and enemies
- Implement navigation with keyboard, mouse, and gamepad
- Program logic and game mechanics with collision and particle effects
- Explore AI for games with Blackboards and behavior trees
- Build character animations with animation blueprints and montages
- Polish your game with stunning visual and sound effects
- Explore the fundamentals of game UI using a heads-up display
- Discover how to implement multiplayer in your games
Who this book is for
This book is for game developers looking to get started with using Unreal Engine 5 for their game development projects. Anyone who has used Unreal Engine before and wants to consolidate, improve, and apply their skills will find this book useful. To better grasp the concepts explained in this book, prior knowledge of C++ basics such as variables, functions, classes, polymorphism, and pointers is required. For full compatibility with the IDE used in this book, a Windows system is recommended.
Table of Contents
- Introduction to Unreal Engine
- Working with Unreal Engine
- Character Class Components and Blueprint Setup
- Getting Started with Player Input
- Query with Line Traces
- Setting Up Collision Objects
- Working with UE5 Utilities
- Creating User Interfaces with UMG
- Adding Audio-Visual Elements
- Creating the SuperSideScroller Game
- Working with Blend Space 1D, Key Bindings, and State Machines
- Animation Blending and Montages
- Creating and Adding the Enemy Artificial Intelligence
- Spawning the Player Projectile
- Exploring Collectibles. Power-Ups, and Pickups
- Getting Started with Multiplayer Basics
- Using Remote Procedure Calls
- Using Gameplay Framework Classes in Multiplayer
β¦ Table of Contents
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Chapter 1: Introduction to Unreal Engine
Technical requirements
Exercise 1.01 β creating an Unreal Engine 5 project
Getting to know Unreal Engine
Exploring editor windows
Viewport navigation
Manipulating Actors
Exercise 1.02 β adding and removing Actors
Understanding Blueprint Actors
Exercise 1.03 β creating Blueprint Actors
Exploring the Blueprint editor
Exploring the Event Graph window
Exercise 1.04 β creating Blueprint variables
Exercise 1.05 β creating Blueprint functions
Understanding the Multiply node
Exploring the BeginPlay and Tick events
Exercise 1.06 β offsetting the TestActor class on the Z-axis
The ThirdPersonCharacter Blueprint class
Exploring the usage of meshes and materials
Meshes
Materials
Manipulating materials in UE5
Activity 1.01 β propelling TestActor on the Z-axis indefinitely
Summary
Chapter 2: Working with Unreal Engine
Technical requirements
Creating and setting up a blank C++ project
Exercise 2.01 β creating an empty C++ project
The Content folderβs structure in Unreal Engine
Working with the Visual Studio solution
Debugging code in Visual Studio
Exercise 2.02 β debugging the Third Person template code
Importing the required assets
Exercise 2.03 β importing a character FBX file
The Unreal Game Mode class
Game Mode default classes
Gameplay events
Networking
GameModeBase versus Game Mode
Understanding levels and the Level Blueprint
The Unreal Pawn class
The Unreal Player Controller class
Exercise 2.04 β setting up the Game Mode, Player Controller, and Pawn classes
Working with animations
Animation Blueprints
Event Graph
The Anim Graph
State Machines
Transition Rules
Blend Spaces
Activity 2.01 β linking animations to a character
Summary
Chapter 3: Character Class Components and Blueprint Setup
Technical requirements
The Unreal Character class
Extending the C++ class with Blueprints
Summary
Chapter 4: Getting Started with Player Input
Technical requirements
Understanding Input Actions and Contexts
Exercise 4.01 β creating the movement and jump input actions
Processing Player Input
Exercise 4.02 β listening to movement and jump input actions
Turning the camera around the character
Activity 4.01 β adding walking logic to our character
Summary
Chapter 5: Query with Line Traces
Technical requirements
Introduction to collision
Setting up your project
Exercise 5.01: Converting DodgeballCharacter to a top-down perspective
Understanding Line Traces
Creating the EnemyCharacter C++ class
Exercise 5.02: Creating the CanSeeActor function that executes Line Traces
Visualizing the Line Trace
Exercise 5.03: Creating the LookAtActor function
Creating the EnemyCharacter Blueprint Class
Sweep Traces
Exercise 5.04: Executing a Sweep Trace
Changing the Visibility Trace Response
Multi Line Traces
The Camera Trace Channel
Exercise 5.05: Creating a custom EnemySight Trace Channel
Activity 5.01: Creating the SightSource property
Summary
Chapter 6: Setting Up Collision Objects
Technical requirements
Understanding object collision in UE5
Understanding collision components
Understanding collision events
Understanding collision channels
Exercise 6.01 β creating the Dodgeball class
Creating Physical Materials
Exercise 6.02 β adding a ProjectileMovementComponent to DodgeballProjectile
Introducing timers
Understanding how to spawn actors
Exercise 6.03 β adding projectile-throwing logic to the EnemyCharacter class
Creating the Wall classes
Exercise 6.04 β creating Wall classes
Creating the VictoryBox actor
Exercise 6.05 β creating the VictoryBox class
Exercise 6.06 β adding the ProjectileMovementComponent getter function to DodgeballProjectile
Activity 6.01 β replacing the SpawnActor function with SpawnActorDeferred in EnemyCharacter
Summary
Chapter 7: Working with UE5 Utilities
Technical requirements
Good practices β loose coupling
Blueprint Function Libraries
Exercise 7.01 β moving the CanSeeActor function to the Blueprint Function Library
Actor components
Exercise 7.02 β creating the HealthComponent Actor component
Exercise 7.03 β integrating the HealthComponent Actor component
Exploring interfaces
Blueprint native events
Exercise 7.04 β creating the HealthInterface class
Activity 7.01 β moving the LookAtActor logic to an Actor component
Summary
Chapter 8: Creating User Interfaces with UMG
Technical requirements
Game UI
UMG basics
Exercise 8.01 β creating a Widget Blueprint
Introducing anchors
Exercise 8.02 β editing UMG anchors
Exercise 8.03 β creating the RestartWidget C++ class
Exercise 8.04 β creating the logic for adding the RestartWidget class to the screen
Exercise 8.05 β setting up the DodgeballPlayerController blueprint class
Understanding progress bars
Exercise 8.06 β creating the health bar C++ logic
Activity 8.01 β improving the RestartWidget class
Summary
Chapter 9: Adding Audio-Visual Elements
Technical requirements
Audio in UE5
Exercise 9.01 β Importing an audio file
Exercise 9.02 β Playing a sound when the dodgeball bounces off a surface
Sound attenuation
Exercise 9.03 β Turning the bounce sound into a 3D sound
Exercise 9.04 β Adding background music to our game
Understanding Particle Systems
Exercise 9.05 β Spawning a Particle System when the dodgeball hits the player
Activity 9.01 β Playing a sound when the dodgeball hits the player
Exploring level design
Exercise 9.06 β Building a level blockout
Extra features
Summary
Chapter 10: Creating the SuperSideScroller Game
Technical requirements
Project breakdown
The player character
Converting the Third Person template into a side-scroller
Exercise 10.01 β Creating the side-scroller project and using the Character Movement component
Activity 10.01 β Making our character jump higher
Exploring the features of our side-scroller game
Enemy character
Power-ups
Collectibles
Heads-Up Display (HUD)
Exercise 10.02 β Exploring the Persona Editor and manipulating the default mannequin skeleton weights
Activity 10.02 β Skeletal bone manipulation and animations
Understanding animations in Unreal Engine 5
Skeletons
Skeletal Meshes
Animation sequences
Exercise 10.03 β Importing and setting up the character and animation
Activity 10.03 β Importing more custom animations to preview the character running
Summary
Chapter 11: Working with Blend Space 1D, Key Bindings, and State Machines
Technical requirements
Creating Blend Spaces
Blend Space 1D versus normal Blend Space
Exercise 11.01 β creating the CharacterMovement Blend Space 1D
Activity 11.01 β adding the Walking and Running animations to the Blend Space
The Main Character Animation Blueprint
Animation Blueprints
Exercise 11.02 β adding the Blend Space to the character Animation Blueprint
What are velocity vectors?
Exercise 11.03 β passing the characterβs Speed variable into the Blend Space
Activity 11.02 β previewing the Running animation in-game
Enhanced input system
Exercise 11.04 β adding input for sprinting
Exercise 11.05 β reparenting the character Blueprint
Exercise 11.06 β coding the characterβs sprint functionality
Activity 11.03 β implementing the throwing input
Using Animation State Machines
Exercise 11.07 β player character movement and jump state machine
Transition rules
Exercise 11.08 β adding states and transition rules to the state machine
Exercise 11.09 β The Time Remaining Ratio function
Activity 11.04 β finishing the Movement and Jumping state machines
Summary
Chapter 12: Animation Blending and Montages
Technical requirements
Animation blending, Anim Slots, and Animation Montages
Exercise 12.01 β Setting up the Animation Montage
Animation Montages
Exercise 12.02 β Adding the Throw animation to the montage
Anim Slot Manager
Exercise 12.03 β Adding a new Anim Slot
Save Cached Pose
Exercise 12.04 β Save Cached Pose of the Movement State Machine
Layered blend per bone
Exercise 12.05 β Blending animation with the Upper Body Anim Slot
Exercise 12.06 β Previewing the Throw animation
The SuperSideScroller game enemy
Exercise 12.07 β Creating the enemy base C++ class
Exercise 12.08 β Creating and applying the enemy Animation Blueprint
Materials and Material Instances
Exercise 12.09 β Creating and applying the enemy Material Instance
Activity 12.01 β Updating Blend Weights
Summary
Chapter 13: Creating and Adding the Enemy Artificial Intelligence
Technical requirements
Enemy AI
AI Controller
Auto Possess AI
Exercise 13.01 β implementing AI Controllers
Navigation Mesh
Exercise 13.02 β implementing a Nav Mesh Volume for the AI enemy
Recasting the Nav Mesh
Exercise 13.03 β recasting Nav Mesh Volume parameters
Activity 13.01 β creating a new level
Behavior trees and Blackboards
Tasks
Decorators
Services
Exercise 13.04 β creating the AI behavior tree and Blackboard
Exercise 13.05 β creating a new behavior tree task
Exercise 13.06 β creating the behavior tree logic
Activity 13.02 β AI moving to the playerβs location
Exercise 13.07 β creating the enemy patrol locations
Vector Transformation
Exercise 13.08 β selecting a random point in an array
Exercise 13.09 β referencing the patrol point actor
Exercise 13.10 β updating BTTask_FindLocation
Player projectile
Exercise 13.11 β creating the player projectile
Exercise 13.12 β initializing the PlayerProjectile classβs settings
Activity 13.03 β creating the player projectile Blueprint
Summary
Chapter 14: Spawning the Player Projectile
Anim Notifies and Anim Notify States
Exercise 14.01 β creating a UAnimNotify class
Exercise 14.02 β adding the new notify to the Throw Animation Montage
Playing Animation Montages
Playing Animation Montages in Blueprints
Playing Animation Montages in C++
Exercise 14.03 β playing the Throw animation in C++
Exercise 14.04 β creating the projectile spawn socket
Exercise 14.05 β preparing the SpawnProjectile() Function
Exercise 14.06 β updating the Anim_ProjectileNotify class
Destroying actors
Exercise 14.07 β creating the DestroyEnemy() function
Exercise 14.08 β destroying projectiles
Activity 14.01 β Allow the projectile to destroy enemies
Understanding and implementing visual and audio effects
VFX
Audio effects (SFX)
Exercise 14.09 β adding effects when the enemy is destroyed
Exercise 14.10 β adding effects to the player projectile
Exercise 14.11 β adding VFX and SFX notifies
Activity 14.02 β adding effects for when the projectile is destroyed
Summary
Chapter 15: Exploring Collectibles, Power-Ups, and Pickups
Technical requirements
Understanding URotatingMovementComponent
Exercise 15.01 β creating the PickableActor_Base class and adding URotatingMovementComponent
Activity 15.01 β player overlap detection and spawning effects in PickableActor_Base
Activity 15.02 β finalizing the PickableActor_Collectable actor
Logging variables using UE_LOG
Exercise 15.03 β tracking the number of coins for the player
Introducing Unreal Motion Graphics UI
Understanding the Text widget
Anchors
Text formatting
Exercise 15.04 β creating the Coin Counter UI HUD element
Adding and creating UMG user widgets
Exercise 15.05 β Adding Coin Counter UI to the player screen
Using timers
Exercise 15.06 β adding the potion power-up behavior to the player
Activity 15.03 β creating the potion power-up actor
Exercise 15.07 β creating the Brick class
Exercise 15.08 β adding the Brick classβs C++ logic
Summary
Additional Challenges
Chapter 16: Getting Started with Multiplayer Basics
Technical requirements
Introduction to multiplayer basics
Understanding the server
Dedicated server
The listen server
Understanding the client
Exercise 16.01 β Testing the Third Person template in multiplayer
Packaging the project
Exploring connections and ownership
Getting to know roles
Actor spawned on the server
Actor spawned on the client
Player-owned pawn spawned on the server
Player-owned pawn spawned on the client
Exercise 16.02 β Implementing ownership and roles
Output for the Server window
Server Character
Client 1 Character
The OwnershipTest actor
Output for the Client 1 window
Understanding variable replication
Replicated variables
Exercise 16.03 β Replicating variables using Replicated, ReplicatedUsing, DOREPLIFETIME, and DOREPLIFETIME_CONDITION
Output for the Server window
Output for the Client 1 window
Exploring 2D Blend Spaces
Exercise 16.04 β Creating a movement 2D Blend Space
Transforming (modifying) bones
Exercise 16.05 β Creating a character that looks up and down
Activity 16.01 β Creating the character for the multiplayer FPS project
Summary
Chapter 17: Using Remote Procedure Calls
Technical requirements
Understanding remote procedure calls
Server RPC
Multicast RPC
Client RPC
Important considerations when using RPCs
Exercise 17.01 β Using remote procedure calls
Exposing enumerations to the editor
TEnumAsByte
UMETA
BlueprintType
Exercise 17.02 β Using C++ enumerations in the editor
Using array index wrapping
Exercise 17.03 β Using array index wrapping to cycle between an enumeration
Activity 17.01 β Adding weapons and ammo to the multiplayer FPS game
Summary
Chapter 18: Using Gameplay Framework Classes in Multiplayer
Technical requirements
Accessing Gameplay Framework Instances in Multiplayer
Exercise 18.01 β Displaying the Gameplay Framework instance values
Output for the Server window
Output for the Client 1 window
Game mode
Player state
Game State
Useful built-in functionality
Exercise 18.02 β Making a simple multiplayer pickup game
Activity 18.01 β Adding death, respawning, a scoreboard, kill limit, and pickups to the multiplayer FPS game
Summary
Index
Other Books You May Enjoy
π SIMILAR VOLUMES
<p><b>Learn the tools and techniques of game design using a project-based approach with Unreal Engine 4 and C++</b></p>Key Features<ul><li>Kickstart your career or dive into a new hobby by exploring game design with UE4 and C++</li><li>Learn the techniques needed to prototype and develop your own id
<span>Develop Your Own Game Using Unreal Engine 5</span><span> <br><br></span><span>Key Features</span><span><br>β Learn how to use compatible engine templates for developing custom scenarios.<br>β Make a simple third-person game using the core features of Unreal Engine 5.<br>β Get familiar with the
Get started creating video games using Unreal Engine 4 (UE4) and learning the fundamentals of game development. Through hands-on, step-by-step tutorials, you will learn to design engaging environments and a build solid foundation for more complex games. Discover how to utilize the 3D game design sof
<p><span>Discover Unreal Engine 5βs networking techniques to create scalable and fully functional multiplayer game experiences</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Design a captivating multiplayer game using networking techniques from this illustrated guide</span></span></
<p><span>Dive into the heart of game development with Unreal Engine 5 (UE5), the latest revolution in creating immersive and visually stunning game worlds. Crafted to encourage your imaginative and inventive skills, Volume 1 of this two-part guide stands as a crucial tool in your journey towards dev