Moving on Client vs Server

if moving on client only, the movement is not replicated onto the server. This is because there is no information from the client that is being sent to the server.

You can see that when not replicating the movement + actor:

  1. Moving on Server Only
    The client cannot see the movement of the actor and walks through it. But if they are in the position of the actor (as seen on the server), the collision checking takes place and the client will be unable to move through the “ghost” (server) actor.

  2. Moving on Client Only
    The server cannot see the movement of the actor and can walk through it. The collision properties and checking does however, stop the server player from moving through the platform where the “ghost” (client) actor is located.

You can see this happening in games like Ultimate Chicken Horse. The clients do not get updated at the same time (not always), therefore collision handling become unaligned to “seen” actors. For example, I on my side, yeet myself through a bunch of obstacles. My friend on their side sees a platform blocking my way, and yet i pass through it. In this case, I do not see the platform on my side, and there is no collision.
In another case: I get stopped from moving by an unseen force. On my friends side there is a platform moving at that location. On my side the platform does not exist. This means my friend has the replicated actor+movement and I only have the collision from the replicated actor. This behaviour can also occur due to delays on the server but in the case of missing obstacles, it should follow the explanation above.

1 Like

Privacy & Terms