Summary
In this section, we tackled the massive task of adding networked game support to our project. While a lot of features were simplified or pared down for the purposes of technicality, the project now contains a sample of several different techniques that work together to make up a full networked game flow.
We began by exploring the network manager and tying it to a lobby space by allowing players to create or join games with a UI interface. Once we did that, we moved onto syncing data within the actual games.
Syncing data can be as simple as NetworkTransform components, which constantly sync the transform of an object across every player on the network, or as complex as server-only or client-only functions that propagate messages to other players to ensure consistency in the world; as you build out your own games, you'll develop an instinct for when to use which method when.
In the next and final section, we'll go through the final motions of every game project, from packaging...