Ok so I’ve been trying various methods to accomplish this for ages, but haven’t found a way around it.
My problem comes about when I introduce network latency, say 100ms. I have a tank blueprint that is based off of the pawn class. I have set up a location offset for when the player moves forward, I rotate the turret of the tank when they move the mouse, things like that. I have set it up so that when they press forward, if they are a remote client, they send a command to the server to move forward, and also run the move forward command locally too. I use the same method to rotate the turret. This works great when there is no latency for multiplayer, everything works as it should.
When there is latency however, When the player moves forward, they move forward on their screen, and then once the server runs the code, it teleports the player back a bit and then runs the offset commands until the client is where it should be. I know that the character class fixes this somehow, but that class isn’t suitable for what I’m trying to do. I need to find a way for the server to recognise that the client is where it should be on their screen, but finish executing the script on the server. From what I’ve read this is Server Reconciliation, but i have no idea how to do it. I really hope there is a way to do this, otherwise my game just won’t work in a multiplayer setting.