Multiplayer pawn movement issue, help please!

Hello everyone i am working on rolling template and i modified to be multiplayer project and i have issue
with client movement response.

when the client move it’s have some of lag or delay
i tried 14 different way to move the pawn on multiplayer and it’s
all have some sort of lag.

i couldn’t figure out how to solve this problem.

my best way to do this movement:

1-Input event execute.

2-Get torque value of the ball roll based on axis value.

3-Check if this machine server/client.

a) If server:

1- Roll the ball by torque value.

b) If client:

1- Send to the server the torque value.

2- Roll the ball by torque value (on client side).

3- Roll client ball by his torque value (on server side).

and these pictures on the pawn BP class describe how to this work:

Move Right/Left

Move Forward/Backward

this problem disrupt me from working

can any one help me please!!!

If it is using physics then you should only apply the torque on the server.

(The blueprints you tried to include aren’t showing up)

yeh sorry now screen shots work.
if you mean just send the torque value to the server and let him do his work and skip rolling the ball on client side i tried this and not work.

The SwitchHasAuthority nodes don’t help there. The input is only received on the client. Just move the lines going into the SwitchHasAuthority over to the ServerMove nodes. If it doesn’t move the ball on the client then make sure you have Replicates and ReplicateMovement enabled. And if you call TorqueBall on the client then you will see jerky movement because the client and server are both controlling the ball. With a character, the movement component takes care of the synchronization. With physics actors, there is only a basic mechanism that tries to keep the client matched with the server.

This thread has some interesting info. I have made pawns that use physics and it works fine but most there agree that you should fake it yourself. IMO though, letting UE4 handle the replication is a better place to start out making your game. You can always go back and replace it with something more efficient.