Here are the ideas that went through my mind:
- in the regular CharacterMovementComponent there are several variables that we can adjust regarding network replication, I suggest you check if such variables exist in PawnMovementComponent
- the “standard” way to do this according to google is to use movement prediction. for instance: you know the character’s current velocity so you can predict where he is likely going to be the next frame.
- Overwatch uses a strange system in addition to their prediction logic: they smoothly “snap” the client to its real location (I literally slide along few pixels with my character)
Here are my two cents.