I am currently implementing a alliance-system for our game project. Every alliance has members and leaders, where only the leaders should be able do manage the alliance, e.g. invite or dismiss players from the alliance. Now, how can I ensure, that only those leaders call this functions? Every Ally-Member is connected to a AGamePlayer instance, which indirectly could lead to the depending playerState of this player, but how does this help me? The alliance is spawned on the server in the GameState. Inside the alliance class, and I have no way to figure out which playerController called this function, do I? Do I have to pass a PlayerController pointer to every important function?