How do you send data from OnSerializeNetworkView to the server only?

In an authoritative server environment I would still like to use OnSerializeNetworkView to send commands from the client to the server instead of RPC’s, but it seems to me like OnSerializeNetworkView automatically sends data to all clients which I definitely dont want, because I need the server to process commands and then send out positions of everything. Is there a way to limit who receives OnSerializeNetworkView or set it to only send to the server automatically?

Thanks!

Why exactly do you want to not use rpcs?

according to peoples research on the forums RPC’s are slower than OnSerializeNetworkView, also RPC’s are gaurenteed to be sent in order. For movement inputs I find it unnecessary that inputs which are likely to be sent each network update to be sent in order and gaurenteed to be sent, shots and other important information from the player need to be sent in order and need to be guaranteed delivery, but I can live with inputs being dropped every once in awhile.

So I would like my OnSerializeView to send the requested velocity and rotation for the player to the server, then have the server relay the actual positions out to everyone. However it would be a waist of bandwidth for the server to relay all of this information back out to players as they will not be using it.

This can be done by only allocating a manual network view on the server, but I don’t think that is a hot idea. Each networkviewid would be allocated on the server and sent to the client manually without network.instantiate. The network view updates would still go to everybody, but clients without that viewid would not process them despite getting them and still using the bandwidth. It sounds like a recipe for disaster.