Book Image

Elevating Game Experiences with Unreal Engine 5 - Second Edition

By : Gonçalo Marques, Devin Sherry, David Pereira, Hammad Fozi
Book Image

Elevating Game Experiences with Unreal Engine 5 - Second Edition

By: Gonçalo Marques, Devin Sherry, David Pereira, Hammad Fozi

Overview of this book

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.
Table of Contents (21 chapters)

Understanding the client

The client is the simplest part of the architecture because most of the actors will have the authority on the server, so in those cases, the work will be done on the server and the client will just obey its orders.

Here is an overview of the main responsibilities of a client:

  • Enforcing variable replication from the server: The server typically has authority over all of the actors that the client knows, so when the value of a replicated variable is changed on the server, the client needs to enforce that value as well.
  • Handling RPCs from the server: The client needs to process the RPCs (covered in Chapter 17, Using Remote Procedure Calls) that are sent from the server.
  • Predicting movement when simulating: When a client is simulating an actor (covered in the Getting to know roles section), it needs to locally predict where it’s going to be based on the actor’s velocity.
  • Spawning the actors that only a client needs to know...