Traffic for RpcDelivery.Unreliable is higher than reliable?

I use NetworkStatsMonitor sending an array via RPC and noticed that if I change the RpcDelivery between reliable and unreliable, the latter seems to slightly increase the upstream traffic on the host side.

Is there a reason for this, or am I just reading something into these stats?

The stats do fluctuate between 40-45 Kb/s rather quickly so that makes it hard to assess. However my observation is as if reliable traffic is more in the 40-42 range while unreliable seems to show 42-43 Kb/s more often.

I noticed the same thing with NetworkTransform where “Use Unreliable Deltas” did slightly increase the upstream traffic for 100 objects.

FYI I’m currently looking into ways to reduce net traffic for 100 constantly moving enemies, hence these tests. NetworkTransform on each shows over 220 KB/s while sending an array of 100 HalfVector3 via RPC at the Network tick rate shows less than 45 KB/s in upstream. And then I can further manually send at a lower rate since my enemies don’t need more than 5 or 10 updates per second.

It should be exactly the same size. At least as far as NGO is concerned its serializing the same about of data. It does influence how the transport ends up sending your data so depending on what NetworkStatsMonitor is actually measuring (NGO serialized data or packet data at the transport level) you might see different numbers depending on how your chosen transport implements unreliable messaging. I would expect it to be less but you never know.

Take a look at the Send method of your chosen transport and see what it does with the networkDelivery parameter it will be NetworkDelivery.Unreliable for an unreliable RPC.