Respawning Actor from Class when Changing Level

What I’m looking to accomplish here is to enable the player to keep an item they picked from the ground and take it with them when traveling to different levels. The pickup I have set up is a simple spawn actor from class and attached to component once interacted with. I was informed by a fellow traveler that I need to respawn that actor when the level changes. For the door blueprint that opens the new level once the player character overlaps the collision, I have a branch to see if the player “Has Bat?”. When the player picks up the item, “Has Bat?” is true. So, if the “Has Bat?” is true for the branch of the open level, I have a spawn actor from class and attach to component for the player mesh. This seemed like the logical solution but as per usual, it didn’t work. Do I need to move the spawn actor from class code somewhere else? Or perhaps is our current technology simply too primitive to accomplish this? We may just not quite be there yet.

Video: - YouTube

There are a few blueprints that stay consistent through levels, most don’t though.

your solution is correct, you need to store a variable somewhere then use it once the new level opens.

I would suggest using the “level instance” blueprint. Every game has only 1 and it stays constant from starting the game to quitting the game.

Most other blueprints don’t travel through levels.

You can use " get game instance" then a cast to it in order to “set” and “get” variables from it.

oh my bad, didn’t see the video.

seeing the “BaseLevel_BP” where you have the “open level” node I dont think you can run script after that. the open level node isn’t a delay node so what ever fires after it wont happen after the new level opens. If the “Bat Bp” actor isn’t spawning at all, that’s what i would guess.

That’s just it though, I am using a game instance. The game instance is what’s telling the engine that I do have the item if the item is picked and the level changes. In the video, the player is able to equip the item in the changed level but the mesh or actor of that item is not visible. So saving the variables isn’t the problem, it’s just making the mesh visible if the player picked it and changes levels. The game instance uses the “Has Item?”, “Is Item Equipped?”, the item bp and the item class bp. It’s just not spawning the physical actor in the new level.