What good does Network.InitializeSecurity do?


I have a fairly popular Unity powered multiplayer game which always calls Network.InitializeSecurity before firing up a server.

Someone recently did me the honor of creating a Unity powered cheat client specially for my game, and this client can call any rpc it wants to on any computer connected to the game as if it were the server. It’s now in the wild, and my game is basically unplayable most of the time.

Since his client can call Network.InitializeSecurity just like mine can, isn’t the entire idea of network security irrelevant?

If there any way I can “seed” my application’s security with something that will make it incompatible with every other Unity application out there?

My solution to this would be to develop your own security system, for an example, the server sends a random password to every player on connection and sends the same password when callingR PC on this particular client.