Replicating a physical grabbing system, and jittery movement for clients grabbing the object.

Hello everyone.
First of all, I use UE4.27 → can’t run UE5 on my potato pc :slight_smile:
I’m trying to make a multiplayer, physics-based grab system where objects move differently depending on their mass. I tried physics handles, but I couldn’t get them to where heavy objects can pivot and rotate when I pull them from a corner; they just move as a whole. So I decided to use constraints instead. Here is my setup:

Let’s define some things first:

“Anchor” is a component parented to a spring arm that uses control rotation; this is the component that the grabbed object is constrained to.

“Hook” is a component that is attached to the grabbed object at the point where it was grabbed. It is used to get an endpoint for a beam effect in Niagara, not important for the physics.

“Grab Component” is the component being grabbed.

  1. I do a trace locally, and if the object can be picked up, I call a grab event on the server:

  1. I pass the hit results I need to the server and constrain the grabbed component and the anchor on the server:

  1. In a RepNotify, I disable physics simulation on the clients and let the server simulate the grabbed component:

Everything works great, replicates well, except for one issue: when a client grabs an object and moves it, it flickers for that client only; the server and all other clients see it moving smoothly, but only the client who is grabbing the object sees the object jittering. And jitter happens only when the object is being moved, and especially when moved fast:

(it looks worse in-game than the video, probably because the video is only at 60fps)
I tried detaching the anchor from the spring arm and moving it on tick on the server, but it still flickers for the client who’s grabbing it.
I’d appreciate any help I could get. I’m running out of ideas on how to solve it.