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)

Getting to know roles

When an actor is spawned on the server, it will create a version on the server, as well as one on each client. Since there are different versions of the same actor on different instances of the game (Server, Client 1, Client 2, and so on), it is important to know which version of the actor is which. This will allow us to know what logic can be executed in each of these instances.

To help with this situation, every actor has the following two variables:

  • Local Role: The role that the actor has on the current game instance. For example, if the actor was spawned on the server and the current game instance is also the server, then that version of the actor has authority, so you can run more critical gameplay logic on it. It’s accessed by calling the GetLocalRole() function.
  • Remote Role: The role that the actor has on remote game instances. For example, if the current game instance is the server, then it returns the role the actor has on clients...