Understanding remote procedure calls
We covered variable replication in Chapter 16, Getting Started with Multiplayer Basics, and, while a very useful feature, it is a bit limited in terms of allowing custom code to be executed in remote game instances (client-to-server or server-to-client) for two main reasons:
- The first reason is that variable replication is strictly a form of server-to-client communication, so there isn’t a way for a client to use variable replication to tell the server to execute some custom logic by changing the value of a variable.
- The second reason is that variable replication, as the name suggests, is driven by the values of variables, so even if variable replication allowed client-to-server communication, it would require you to change the value of a variable on the client to trigger a
RepNotify
function on the server to run the custom logic, which is not very practical.
To solve this problem, Unreal Engine supports RPCs, which work...