Grab Object Replication Problem

Hello, I’m trying to make a pick up, holding system for my game.
Simple system, basically when I click E button then I am able to hold an object and move with it.
I was using this tutorial to do the pick up system

And everything works pretty well when a player is playing in standalone mode or as a host but when the client plays on for example dedicated server and tries to pick up an object it doesn’t want to sync across the network - the object picks up on the client which is currently trying to pick up the object but others don’t see his actions.
I was trying multicast, run on server, and even both but nothing seems to work.

Details
I am using first person template.
To manipulate objects I am using Physics Handle component .
I already did synchronize objects’ physics so the movement of objects is fully synced.

I uploaded video on youtube where you can see whats happening and all blueprints.

Please help me with this. If you need anything else to solve this issue, let me know.

multicast is the trap here. multicast runs on everyone but it doesnt transfer authority, so your client plays the grab locally and the server sim never actually holds anything, which is why others see nothing persist.

do it server-owned: E on client, Server RPC on your character (client owns the character so the call goes through), server validates range, attaches or grabs on the server side, replication carries it to everyone including you. the client should predict the visual only (play the hold pose instantly) and let the server state win when it arrives. physics handle specifically must be created and driven on the server, a client-side handle on a server-owned body gets corrected every update.

same pattern, step by step: Networked Physics - Gameplay Tutorial
why authority has to work this way: Networked Physics - Fundamentals