Should I dynamically vary these network settings on the character movement component depending on how fast I have the player moving?
Or should I set them to work for whatever the fastest movement the player can achieve?
Or am I viewing theses settings all wrong and they should just be set based on… something else?
I change my character’s max walking speed fairly often; which trips up their moment component a fair bit. Would like to try and adjust the aggressiveness of the reset and let the client have a bit more flexibility with their position.
I too am looking for more information on what these variables do and how to use them properly. If anyone can help explain them that would be great, the comments on the variables don’t do a great job at explaining what they do.
Wow, this question has gone unanswered for over a year? I’ll throw you guys a bone.
First off, I might be wrong, but those settings are probably not the ones you’re really interested in. You probably want to look at these:
“Ignore Client Movement Error Checks and Correction” completely removes any error correction by the server on the owning client. Naturally, that means you need to be careful that your pawn’s location isn’t getting out of sync with other clients, but if your character performs some kind of quick movement and you’re getting “jitter” in the middle or at the end, you might want to try disabling that first option until the move is complete. For example, in my project, the character can slide quickly to a wall of cover over the course of about 0.3 seconds, and I dynamically disable/enable this setting to prevent the end of the movement feeling awkward and jittery
The second option, “Server Accept Client Authoritative Position”, would be useful in a case where you have a short burst of movement that isn’t syncing well over the network. I’m not personally using it, so I can’t give any specific examples. I do know that you would almost never want the second and first options on at the same time, because things will almost certainly get out of sync with other clients. It all depends on the use case though, so it’d be worth playing around if it sounds like something you need.
As for the options in the OP screenshot, I really think the tooltips for “Max Smooth Update Distance” and “No Smooth Update Distance” are pretty self-explanatory. “Network Min Time Between Client Adjustments” is how long the server waits between sending corrections to the client, for smaller corrections. The one under is where you specify the time for larger corrections, and “Large Client Correction Distance” is the threshold that determines whether it’s a large correction or not. These settings are more about saving bandwidth than anything; I personally wouldn’t dynamically adjust them in-game unless I either A) needed quicker client corrections than 0.1 seconds for some specific event or B) I knew it was ok to relax on update times and wanted to optimize network performance during a particular move (or lack thereof). To fix issues with fast movement (like jitter or things not syncing in time), you’re better off fiddling with the two settings I mentioned at the start
Also note that this is all location-related, CMC doesn’t seem to do much (if anything) to correct rotation.
I’m pretty sure I asked here before it would make since to dynamically adjust those values but don’t think I ever got an answer. Thanks for sharing this I’ll try it.