Delay on client movement

Hello!

I made a small game and I’m trying to make it work on multiplayer. On local everything works perfect, but when I play with a friend, there are huge lags on the client’s player pawn movement. For each movement, the client has 1 second delay.

Here is the blueprint for the player pawn:

I use impulse because the pawn uses physic.

Anyone has an idea?

I’m guessing the root of the problem is that my player pawn simulates physic.

My guess is that the client is asking the server to add their impulse each time it wants to move. So it does not add the impulse until it gets a response from the server.

Did you try instead to directly add the impulse on each client and going to blueprint defaults and under Replication, checking the Replicates and Replicate Movement checkbox?

When I do that the client cannot move at all. It seems like it tries to move but one frame after it’s teleported back to its original position.
It looks like the server has posession of the client’s pawn.

This is, according to 2 different sources intended behaviour and the built in networking is not good for fps games. I would either use a different engine, use a custom networking solution or give up on multi-player support and just go for single player