Looks like the connection is temporarily lost at 1:07 or a spike of some sort that disrupts replication for like half a second.
Have you done any network optimization? You can click the Optimize button on CoherenceSync and change sample rate and bit rate per prefab and binding. Make sure any bindings that are updated each frame (position, rotation) are slimmed.
Reducing sample rate is an easy way to increase unit count, but it incurs additional latency for interpolated entities. We will release support for NPC prediction in an upcoming release of coherence sdk, which minimizes both latency and bandwidth use in these scenarios.
Instead of implementing GGPO and determinism, you can increase unit count by applying “good enough” client-side prediction (pathfinding etc for units) and sync entities at very low rate for network correction.
@mattgamedevguy after seeing your post I was intersted to see how my RTS game faired with ~100 units, and for the most part things seem to be performing relatively well enough. I haven’t done any of the sync optimizations recommended above yet, but I suspect that could help.
What I did find was that I had to increase the pool size for my “command” classes to 100+, so that when I issue commands to the units to move it does not incur memory allocations to instantiate those classes. Probably other improvements that could be made in this area as well, but I haven’t profiled the Simulator yet to check where memory may be being allocated/performance issues existing.
Would be very interested to hear more where you find opportunity to improve your performance and what approaches you take.
I’m probably not doing it the right way, but I keep a networked variable for each player which stores the ids of all selected units so that I don’t have to issue move commands for each individual unit.
Other than that, just followed the advice above
All the best with your project dude, it looks great!