Skip to main content
In a Summer game, each player’s own device moves their character. Pressing a key moves the character that same frame, and the camera follows at once, on any connection. The server doesn’t run anyone’s movement. It checks each position a player sends and sends the ones it accepts to everyone else, who see that player glide smoothly.

Games like this

Counter-Strike, Valorant

Crisp first-person movement that never waits on the server.

Minecraft servers

Walking, jumping and falling through a shared world.

Among Us

Simple top-down movement that has to feel responsive.

Stardew Valley co-op

A few friends walking around one farm together.

What your players get

The owner's device moves the character at once and sends its position about 20 times a second. The server checks each position and sends accepted ones to the other players, who glide between them. The owner's device moves the character at once and sends its position about 20 times a second. The server checks each position and sends accepted ones to the other players, who glide between them.
  • No input delay. Their own character responds the moment they press a key, whatever their ping.
  • Smooth other players. Everyone else is drawn a fraction of a second in the past, gliding between positions, so they move smoothly even when packets arrive late or get lost.
  • No speed hacks. The server checks every position. A move that’s too fast or out of bounds is refused, and that player snaps back to where they last were allowed to be.

Pick your setup

Walk, run and jump

Your existing character controller keeps working: input, walking, gravity, jumping and collision all run on the player’s own device. About 20 times a second it sends the character’s position and facing to the server. Your server decides what’s allowed, such as a top speed and the edges of the level, and gives a little leeway for jumps and falls so normal play never snaps back.

Make my character move in multiplayer. Instant for the player, checked by the server, smooth for everyone else.

The server moves a player on purpose

Sometimes the server needs to put a player somewhere: a respawn point, a portal, the start of a new round. The server sets the new position, and that player’s character jumps straight there. Everyone else sees them appear at the new spot rather than slide across the map. Two cases. A normal move is accepted. A move that is too fast is refused, and the player snaps back to the last accepted position. The server can also teleport a player to a respawn point. Two cases. A normal move is accepted. A move that is too fast is refused, and the player snaps back to the last accepted position. The server can also teleport a player to a respawn point.

Add respawns and teleports. The server puts a player somewhere and everyone sees them there.

Not sure which fits?

Plan movement for my multiplayer game. Your agent reads your controller and proposes the rules. No code.

Testing it on your machine

Local Play runs your server and several game windows on one computer, so you can walk every character around at once. Your own machine has no lag, so also run it with added delay, jitter and packet loss. A good run looks like this: your own character never stutters or snaps back while moving normally, and the others glide smoothly in every window. See Make your game multiplayer.
Does this not help you? Reach out on Discord!