RPC Calls: Massive overhead?

Hi, I have a question about RPCs. From what I’ve read they basically shoot the name of the function across the network and then finds that function on the receiving end and calls it with the parameter.

It’s kind of a drag to have to search through a class table based on a string for a function. Is it possible to have RPCs that are token driven?

Something similar to OnSynchronizeClient would be great since it’s serialization and a known function. Is there a general message function that we can use?

I’m pretty sure RPCs are id based (unique networkview-class-method string identifier, likely byte), not function name based.
Thats why you must use the same scripts with all the same rpcs on client on server or the lookup will fail. If it was pure name based it wouldn’t care about all the rest.

The overhead normally comes from users forgetting that RPC are not bound to the network sync rate but are sent instantly, without adding code to reduce the rpc sending to the actual network update rate for things they do “in realtime” otherwise.

And no there aren’t any other functions in the integrated networking other than the network view sync based approaches with onserialize as well as RPC.
For anything else you would have to use System.Net.Sockets and write your own networking