Quick follow up in regards to the Hold down to move issue.
(Video for those that prefer video: https://youtu.be/RoU-mFDLlZ4, it’s absolutely unedited, since I just did it in a rush)
The reason for the stuttering is because the Server has an instance of all player controllers. Thus if you don’t check if the instance is a local controller, the server will execute things for the client also. And if the server doesn’t have the cursor information, or the mouse held down info, it’s going to stop the movement. So what ends up happening is:
CLIENT: MOVE!
SERVER: STOP!
and you get a back and forth of stuttering.
Increasing replication rate, if I’m not mistaken actually increases the time between each replication. Thus decreasing the move and stop cycle, and making it “smoother”.
The simple solution is to check if the controller is a local one, if it is, then execute the relevant code in stopping or moving. (You still have to tell the server to stop and move).