Since the introduction of server-side object container streaming, desync has dramatically increased. What is causing this desync and what is the fix?
TL;DRDesync was not caused by server-side object container streaming but by a physics issue, which a physics proxy refactor in 3.9 ideally fixes, with remaining edge cases and latency still being worked on.
It wasn't SOCS that caused it. There was a physics issue. And in fact, there was a physics proxy refactor that was done. And we had that fix ready for like 3.8.2. However, the code base between 3.8 and 3.9 had changed so much, so we deemed it too risky to actually check it in. So we checked it into 3.9. It's in 3.9. Ideally, we think that fixed the root of the problem. And then if we run into any kind of edge-based issues, we'll go in and fix those case by case. But ideally, most of that has been resolved. Now, obviously, there's other factors that play into that, whether that be server lag or even we kind of have some internal lag built in. And we're trying to work those issues out right now to reduce as much latency as possible. We know that it's there. It is a focus of ours because it is a huge quality of life issue that needs to be resolved.
We've talked about the physics refactor a couple times on this show, actually, throughout the last quarter. It's important to remember that while server-side object container streaming was a big tentpole feature of 3.8, it was not the only feature that went in. So when you see issues like that, it's often easy to go, oh, that was the biggest one, that must be it. But in this case, it was the physics refactor.