Using google foo I found 3 videos on how to do this, but they are all blueprint (naturally), however you can do the same steps in c++, just gotta find the matching function signature in the c++ version that matches the blueprint node. Warning I didn’t watch all 3 videos so it’s probably different methods of doing what you want. The inventory system is optional however, you can attach all actors directly to your character and iterate through them via reference by using a key press. then unattach them with another key (dropping them). you can set their visibility so only 1 is visible at a time. But storing them in an inventory might have quicker access times instead of iterate via lookup/cast functions.