What would be good way to do multiplayer pickable/interactable

Hi. I am making a muliplayer game and I think I made kind of odd design for pickable items. First I made an interface for interactable and made a blueprint for pickable item, it is can be dropped/trown so it is physical and replicated. It spawns by server cool. And then player pickup by just moving to the player hand to the socket… and player of course player fly to the sky because of collision confusion… another problem it that another player can grab it from your hand. So I made another blueprint for representation in other player view. And I also have first person view, I thought what if I want to use high detailed model. I made a third blueprint… But now I need to make like hundred of items… and synchronize all of them kinda hard especially if it emits light. What would be better approach?

three blueprints per item will bury you. use two classes total: one cheap replicated ground pickup (mesh plus interact) and one inventory entry for the carried state. the hand visual is just a mesh attach, not a third blueprint.
server spawns the pickup, client rpcs to grab it, server destroys the pickup and adds the entry. other players grabbing from your hand stops being possible because the hand holds no pickup actor, only a visual.
when you have hundreds of entries, each with its own count or durability, plain structs get painful. you can also try Blueprint Object Replication, a multiplayer plugin for Unreal Engine that keeps every item instance as a replicated object with its own vars and rep notifies: https://www.fab.com/listings/e26dcf07-7c78-4e67-8e56-272cf6df8021