[Solved] Movement is stuttering on the client side

Hi,
My character on client side is shuttering, i use Online subsystem set to none (i don’t use any services yet) and camera rotation on client is smooth only the movement is shuttering and on server is everiting smooth.
video:

I’m using default first person character

thanks for any replies

Is your capsule replicated? If so, “do not replicate it”


Otherways… You can also try this

https://dev.epicgames.com/community/learning/knowledge-base/mo9O/unreal-engine-character-movement-optimizations?locale=es-es

DefaultGame.ini overrides from engine defaults:

[/Script/Engine.GameNetworkManager]
ClientNetSendMoveDeltaTime=0.05
ClientNetSendMoveDeltaTimeThrottled=0.066
ClientNetSendMoveDeltaTimeStationary=0.0833
ClientNetSendMoveThrottleAtNetSpeed=10000
ClientNetSendMoveThrottleOverPlayerCount=24

When testing multiplayer in PIE (netmode Client) you should play in the Selected View Port (main). For 2 players you use New Windows w/ player count 2.

Client mode runs a dedicated server in the background.


The Flash Light, nor any mesh attached to the character can have collision enabled. It interacts with the characters capsule component.

What you are experiencing is Server Correction. Servers view is Authoritative, thus it never gets corrected (jitter). Clients on the other hand are ALWAYS being corrected. The higher the ping, the more correction.

p.NetShowCorrections

This will display a Red and a Green capsule wireframe highlighting the corrected movement. Red is the Bad Location/Rotation and Green is the correction.

img shows 100ms pings with 5% packet loss.

2 Likes


@Rev0verDrive

collisions on flashlite is disabled.
And i’m getting lots of corections
client view:

on unity can be settup client Authoritative, i’m making game where controlling clients movements isn’t that much needed. But i don’t know how to make it in ue5.5 or is there another way to fix this?

Something is definitely wrong with your movement setup then. There’s conflicts on the client side.

You can do client auth. Click on the character movement component… In details find these two settings.

It was besouse the flashlite had collision on client.
this code didn’t turn off collisions of the flashlite for some reason on client:


even when it print noCollisions on all clients (server)

but when a went to bp of the flashlite and set noCollisions manualy on the static mesh there, it’s now working.
Is there someting wrong with this code?

This is not because of other replies. Main reason is; if you are changing the movement speed in the code somewhere, it is not replicated. Clients wants to speed up/or low, but the server doesn’t allow it. This is why client side stuttering.

i wasnt changing speed it’s was becouse the flashlite on clien had collision even when i turn it off in blueprints. When i turn collisions off in the flashlite blueprint it’s now working.

Or you mean that the collisions of the flashlite wasn’t replicated to server so on client the collisions was off but on server the sollision was on so ti was corresting the client?

yes it is a comment too. I told you the base logic of it. :slight_smile:

1 Like

Run away from “save the day” solutions. Understand the base logic everytime.

1 Like

The code didn’t work because you turned off collision on the Actor, not the actual static mesh component.

Actor → Get mesh (flash light) → Set collision enabled (no collision).

Technically should do this directly in the actor before spawn. Default no collision.


If you need it on for other things then you should create a custom collision for the capsule component. Then on the flashlight collision just ignore the capsules collision.

Check this post for the details on that.

1 Like