ForeverCoder1526 said:
The issue is that when both players (local & non-local) move at the same time sideways, you can see the other player sort of jitter (video attached).
Architecture choices make a big difference here.
If both clients are communicating with a server, the star architecture means that the server gets each client's data, sorts out what happened when, then transmits the ‘true state of the world’ data back to each client. Each client then interpolates based on that. The true state of the world can shift depending on implementation, such as if the server has a mechanism to rewind and re-simulate, as some designs do. Every view gets the same types of correction being applied to them.
If one of the players is serving as a host then it will do its own processing for itself and need to take action to sort out what happened when. The host will have a different view from other players, with the host always having the true state of the world shown, but the other players will have some amount of correction being applied to them. This gives the host an advantage in several ways, in addition to causing differences between the host experience and everyone else's experience.
Be careful also that you're including in the state information the fact that they're in motion, with the expectation that something in motion is presumed to continue in motion. Often a source of state-update jitter is that items move to the position of last update and presume they're stopped there, so they get a stair-step effect ias they move from one update position to another update position instead of locally simulating as though the motion is continuous.