How do I make my inventory item actors persistent over level changes? Details inside.

So I’m following Epic’s official inventory tutorial using UMG here:

I’ve followed it fairly well (I did make some adjustments though because my items are given to you, they aren’t picked up in the level like the tutorial). My issue comes in here:
My inventory array is stored in a Game Instance so it can be persistent across levels. When I go to a level other than the one that I received the item in however, even though the items will still be displayed in my inventory properly, the item’s use action doesn’t trigger anymore.

I’m assuming the reason for this is that when I spawn the item actor in that level, and then change levels, that actor no longer exists. But, it’s saving an actor reference in the inventory structure (which is in the game instance). I would have assumed this would be enough to keep it persistent though other levels, but apparently not.

Any ideas how I can fix this issue? Thanks!

Spawn the actor after level change.

That was my initial plan, but I couldn’t get it working in my system properly. I ended up re-working it so it didn’t use actors and instead worked entirely in the my inventory struct.

More info here: https://www.reddit.com/r/unrealengine/comments/474mhv/following_the_official_umg_inventory_tutorial_how/

Using gameinstance to save inventory data over each level.