How to carry actor states between levels?

Hi so this might get a little complicated due to the needs but hopefully I can explain this correctly.

Currently I have a level with some collectibles/ other actors. Crystals (much like coins) creatures to save (there will be 6 per level) and the last current one are boxes (these are breakable)

Now what I also have are elements to the level, within the 1st level there are 3 other area exits, one will advance to the next part of the level, one is down a well to pick up some special items, and the other will be a bonus stage (currently not implimented)

Now within level 1 there will be a few Crystals, one creature and one box. all of these have a blueprint class with a bit of logic, the box can be destoryed, crystals can be “picked up” (currently they are destoryed also as i’ve not added proper logic) and the create is not yet implemented but lets assume it is and the only logic is has is to be picked up (to an inventory counter not physically)

So when I go down the well I have it set to open a new level, and I can return from that level to the main level again simple, but what I need is for anything that has been collected, or any box that has been broken to keep that state when moving between levels. How do I do this, i’ve tried so many things but cant seem to get it to work so I need to start from scratch.

AS A REQUEST! also if possible is there a way to take this one step further, I’ll use an overworld for the level select, everything other than the creatures would want to be reset when reentering a level.

You need to set and get all of the variables you want to carry over levels in Game Instance BP. Game Instance is persistent so it doesnt reset until you close and reopen the game.

Edit: You can find more info in this stream if i’m not mistaken: Blueprint Game Framework Basics | Live Training | Unreal Engine - YouTube