How to Replicate the Loot Bag System from Payday 2/3

I’m currently trying to recreate the loot bag mechanics from Payday 2/3. In these games, certain objects spawn on the map that players must approach to interact with. Once interacted with, the object transforms into a duffel bag that attaches to the player’s back. The HUD then updates to show information about the item being carried. Additionally, the camera tilts slightly to the left to indicate the player is carrying something heavy.

Depending on the type of item, the player’s movement speed may be reduced, and they may not be able to sprint. If the player decides they no longer want to carry the item, they can press a key to “throw” the bag – it gets launched in an arc and can be picked up again by themselves or another player.

I already have some ideas for how to handle the picking up and throwing of objects, but I’m struggling with the other elements, like updating the HUD, tilting the camera, and restricting movement. I haven’t found many tutorials or forum discussions that cover these aspects.

If anyone has experience with this or ideas on how to implement it, I’d really appreciate your help!

The duffle bag is just a container and the item is simple data.

You have an item on the ground. You interact, get a successful result, rpc server to interact.
Server interacts successfully. Spawns a duffle bag actor, adds the interact item data to it.
Attaches bag to character, destroys the interact item.

To drop you apply input that RPC’s server. Server detaches, clears ownership, places actor on the ground (physics toss, teleport, whatever). For animation you’d run a multicast calling a specific event that plays a montage.

Picking up a dropped dufflebag is simple interact, rpc server to interact.
Server interacts and Id’s the item as a duffle bag with content.
Attach existing bag to character, set owner, good to go.

A key element here is going to be your world interaction system.

Part 1-3 will get you well on your way to a robust interaction setup.