Book Image

Multiplayer Game Development with Unreal Engine 5

By : Marco Secchi
Book Image

Multiplayer Game Development with Unreal Engine 5

By: Marco Secchi

Overview of this book

If you’re fascinated by the immersive gaming experiences that enable multiple users to engage in collaborative or competitive gameplay, this Unreal Engine 5 game development book is for you. In this book, you’ll learn the foundational principles behind multiplayer games. Starting with a sample project, you’ll learn how to set up a networked system and make it work. Once the prototype of the project is functional, you’ll start adding game logic, including obstacles and AI opponents, to heighten the challenges and engagement, offering a captivating experience for players. Next, you’ll learn how to debug and optimize the project, before finally deploying the game build and integrating it with cloud services such as the Epic Online Services system. By the end of this book, you’ll have the confidence to develop and manage multiplayer experiences using the Unreal Engine environment, taking your newfound programming skills in your upcoming projects.
Table of Contents (22 chapters)
1
Part 1:Introducing Multiplayer Games
5
Part 2:Networking and Multiplayer Games in Unreal Engine
10
Part 3:Improving Your Game
15
Part 4:Deploying Your Game Online

Controlling the connection of an Actor

Now that you have created a fully working character, it’s time to understand how a connection is handled inside Unreal Engine (to quickly refresh your understanding of how connections work, you can refer back to Chapter 2, Understanding Networking Basics).

Each connection has its own PlayerController that has been created expressly for it; in this case, we say that the PlayerController is “owned” by that connection.

In Unreal Engine, Actors can have an Owner: if the outermost Owner of an Actor is a PlayerController, then the PlayerController becomes the Owner of that Actor. This means that the first Actor is also owned by the same connection that owns the PlayerController.

The concept of ownership is used during Actor replication to determine which connections receive updates for each Actor: for instance, an Actor may be flagged so that only the connection that owns that Actor will be sent property updates for it...