Inventory Items Disappearing

That’s sort of my point. You have to decide how you want to manage the inventory. Your current method of holding pointers to APickupBase actors that were placed/created in the current world won’t work. Let’s say in world A you have placed an APickupBase AB. You can hide AB in the world A by toggling it’s visibility and turning off collision. But you still have the problem that when you transition from world A to world B the actors in world A go away which means AB goes way. So your inventory would become invalid.

The solution you are talking about (re: a DataTable) is similar to my second solution above. Here you are simply storing references/index/tag that can be used to look up what type of inventory you’ve stored. You can use fields in the DataTable to manage all of the different properties. This is a perfectly fine solution. Really it all comes down to what you are trying to do and what the limitations of your game are.