How to load game from another level

Why not keeping all the values you need to keep in the GameInstance?

But if you want to transfer them from gameinstance to player, then all you need is to create a function or custom event in the gameinstance to copy those values:

Then in the character, at the begin play, just call that function:

You can also create a function to copy from player to gameinstance, and call it before the level change.

Note: there’s too much duplication. If you don’t want to use gameinstance as the tracker, then I suggest you use slots to save and load the values between levels. This way, you can discard gameinstance.