Roles
When you spawn an actor on the server, there will be a version of the actor created on the server and 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 the remote game instance. For example, if the current game instance is the server, then it returns the role the actor has on clients...