Tweening Player and Part on Heartbeat causing Jittering

So I’ve been working on a client sync system that updates the position of other players and a hockey puck within my game. It does this by tweening the player to their actual position (updated with a value in ReplicatedStorage) on every Heartbeat. The issue I am having is that these tweens result in jittery player movement. See video attached below for an example of what I am talking about.

Some things I have already tried are adding a debounce which just made the movement look extremely laggy, and playing around with the tween time. Please let me know if there are any suggestions and I will try them out.

Thank you!

3 Likes

Give the client network ownership over the fake models

3 Likes

So the models aren’t fake, the models that are being tweened are the actual player models. Also I do not think you can locally give network ownership to fake player models if I were to locally render each player.

1 Like

maybe change the render priority

this fixed my problem with making a smooth camera

--eventName can be anything; try out different priorities
runService:BindToRenderStep("eventName", Enum.RenderPriority.Camera.Value - 1, function(step)
3 Likes

It would be fair to assume that attempting to manipulate the movement of an otherwise externally controlled character would lead to some fighting in the character’s position. Locally rendering the players’ characters is an option, but that would have to be built on a rollback netcode architecture, otherwise there wouldn’t be a difference in how things occur naturally with character replication

1 Like

This worked perfectly! I guess since I bound it to heartbeat after the physics simulation it would run the physics simulation, move the character, then tween it. Thank you so much!

Looks like setting the render priority solved the issue, thanks for the feedback though!