Multiplayer Character Movement Jitter / Rubber Banding in Standalone with Steam

I am currently working on a multiplayer project in Unreal Engine 5.6 using Steam for online sessions.

I have a very strange problem with Character Movement in multiplayer.

When running the game using two separate Standalone Game processes, the client character constantly stutters and gets pulled/corrected backwards while moving. The movement feels like the character is repeatedly moving forward and then being pushed back by the server.

At the same time, the host sees the client character moving in slow motion, including the character’s movement animation.

The problem is especially noticeable when the client is moving continuously in one direction.

What I have tested

I initially suspected that the problem was caused by my custom Character Blueprint, so I created a completely new Character Blueprint that inherits directly from Character.

The new character has no custom movement logic, no components, no sprint system, no stamina system, no inventory, etc. I only used the default Character Movement Component.

The exact same problem still occurs.

I also tested different Max Walk Speed values (including 450 and 600), but changing the value does not solve the issue.

I checked the FPS on both machines/processes and performance does not appear to be the problem:

  • Host: ~154 FPS
  • Client: ~157 FPS

I also checked network statistics. There does not appear to be obvious packet loss or an overloaded connection.

Using:

p.NetShowCorrections 1

I can see many correction trails/outlines around the character, which makes me suspect that the server is constantly correcting the client’s predicted movement.

Important observation

The problem occurs when using two separate Standalone Game processes.

Interestingly, when testing using a setup where the games run within the same process/editor environment, the character movement is smooth and I cannot reproduce the problem in the same way.

Network setup

I am using:

  • Unreal Engine 5.6
  • Blueprint
  • Steam Online Subsystem
  • Advanced Sessions / Advanced Steam Sessions
  • Steam Sockets was also tested
  • Replicates = true
  • Replicate Movement = true
  • Always Relevant = true

I also tested changing the Character’s network update frequency, but this did not resolve the issue.

Current situation

At this point I have reproduced the problem with a completely clean Character Blueprint, so I don’t believe my custom Character movement code is responsible.

It seems to be related to the networked Character Movement / server corrections / NetDriver / Steam networking, but I am not sure what exactly is causing the client and server movement simulation to diverge.

I would really appreciate any suggestions on what I should check next or how I can properly diagnose what is causing these server corrections.

Additional info. Im using vreue4 to create sessions / join sessions