Introduction
In the previous chapter, we covered some critical multiplayer concepts, including the server-client architecture, connections and ownership, roles, and variable replication. We also saw how the listen server is quicker to set up compared to the dedicated server but is not as lightweight. We used that knowledge to create a basic first-person shooter character that walks, jumps, and looks around.
In this chapter, we're going to cover Remote Procedure Calls (RPCs), which is another important multiplayer concept that allows the server to execute functions on the clients and vice versa. So far, we've learned variable replication as a form of communication between the server and the clients, but that won't be enough, because the server might need to execute specific logic on the clients that doesn't involve updating the value of a variable. The client also needs a way to tell its intentions to the server, so that the server can validate the action and...