Cannot pickup item in server and current client to different sockets

Hello Unreal Community!!!

PREFACE:
I am currently mucking around with unreal engine alongside C++. I have been making a lot of small projects with unique features and feel that I am really starting to get the hang of things. HOWEVER, this week I spent about 40 hours experimenting with trying to get certain features running on a dedicated server and quite frankly it is making want to bang my head against a brick wall!!!

THE FEATURE:
The feature I would like to implement is a simple Pickup() function. The specific way that I have done this is, there is a trigger box attached to the first person camera component and on event begin overlap it will update a variable called “actorHit” to equal the actor that the trigger box is overlapping. On event end overlap “actorHit” will back to nothing. If actorHit has the tag “pickupable” and the player presses ‘F’ on the keyboard, the pickup function is called. The pickup function disables the physics of actorHit and then attaches actorHit to the players first person hands.

MAKING IT WORK ON A DEDICATED SERVER:
Like most first person games, my character has two sets of hands. One set is only visible to the player and the other set is visible to the other players. What I need to happen is for the actorHit to be picked up and visible to other players in one set of hands and picked up and only visible to you in the first person set of hands.

WHAT I HAVE TRIED:
I have tried two main methods. Firstly, I tried making an RPC that tells the server to disable the physics of actorHit and then told the server to attach actorHit to one set of arms, and then told the current players client to disable the physics of the actorHit and attach it to the other set of hands. The problem with this is that actorHit just goes straight into the set of Hands that the server told it to attach to on all clients. I cannot then tell it to go atttach to the other set of hands on that one client because the server will then correct it back after the fact. I have played around with lots of different workarounds to this issue but with no luck. In fact sometimes I don’t even understand what is going on. For example, one variation of this method would attach correctly to both sets of hands but would only pickup a fish even when I removed the fish from the game.

Method 2: I made the server attach the actorHit to one set of hands and then the server would spawn in a duplicate of the actorHit called Clone. Then I would attach the Clone to the other set of hands. This worked great, however I needed the clone to be invisible to the other clients and I just could not find the way to do this. I tried makeing the actor only spawn on the client also but I think spawning and destroying is automatically done on the server. Another method I tried was making a UStaticMeshComponent perminantly attached to the character that i could then copy the actorHit’s StaticMesh and change the Staticmesh attached to the character to that. However this too failed becasue you cannot attach a staticmeshcomponent to a skeletalmesh.
This is a feature that I have seen in many games, like Sea of Thieves when you pickup an item. I know that this is somehow possible. I have come so very close but it just will not work. One random time, my code allowed me to do this perfectly except for no reason that I can comprehend I had to click ‘F’ three times before it would work.

EPILOG:
Any ideas as to how to solve this problem would be appreciated or if you know how this sort of feature works in other games that would be very useful to know. Thank you all!!!