Hello,
we have recently tried to implement multiplayer for our game.
We’re using Unity.Entities and Unity.Physics for large-scale battles of 10000+ PhysicsBodies.
After reading a bit through the Internet we figured out how to create a connection using Unity.NetCode and how to instantiate the Entities as NetworkGhosts, unfortunately it does not scale well.
At about 2000 units we are experiencing asynchronous behaviour and the movement sometimes turns into teleportation.
At about 10000 units most of the units are just sliding along somewhere and collisions feel very unresponsive.
We tried prediction and interpolation with both static and dynamic optimisation and had the best results with dynamic interpolation.
Looking at the NetDbg stats we are experiencing very old snapshot ages of 300+, so maybe that’s the problem.
Question 1: Is it realistic to expect a large-scale physics battle to “just work” in multiplayer, or is this idea unreasonable?
Question 2: Why is the snapshot age this high? Is it due to the limited bandwidth of the server and packages fill up too quickly to support this many units?
Thanks in advance for advice, feedback or help!