private static void processNetworkAuthorityMessage(byte[] msg, bool clientMessage) { short netID = ObjectSerializer.deserializeShort(ref msg); if (NetworkEntityManager.Instance.findComponent(netID, out NetworkIdentity netIdentity)) { NetworkAuthority networkAuthority = ObjectSerializer.deserializeByte(ref msg) == 1 ? NetworkAuthority.CLIENT : NetworkAuthority.SERVER; netIdentity.networkAuthority = networkAuthority; //Message was sent from a client, now being processed on the server if (clientMessage && ServerBehaviour.Instance) { short clientID = ObjectSerializer.deserializeShort(ref msg); //Client who sent the message byte[] networkAuthorityMsg = MessageFactory.createNetworkAuthorityMessage(netIdentity, networkAuthority); ServerBehaviour.Instance.sendMessage(networkAuthorityMsg, clientID, true); //Forward to all clients but the sender } } }