Setting values on CharacterMovementComponent not replicating accurately with simulated latency


I’m trying to set the friction and braking deceleration of my character’s CharacterMovementComponent when there’s no input. This occurs on tick event. Dedicated server but happens when not dedicated so long as its networked.

This works fine with 0ms latency. With 150ms latency there starts being a large amount of corrections whenever that portion of the blueprint is reached. With 750ms latency the character snaps all over the show, I’m using that figure for debugging, if I don’t set the friction or braking deceleration then it works fine (just delayed) on 750ms. Edit the correction occurs with 0ms as well but there’s no separation between them, the amount of latency = the amount of separation. I think this needs to be in the savedmoves somehow?

What is the proper way to do this setup? I have tried replicating on server, client, multicast, and running it on the server and/or client. Currently it’s best to just not replicate it and let it run like a normal tick event.