How to carry variables across different Levels?

If I have a level that is used for level selection in my game, how could I make it so when you have to have beaten the previous levels first? If I create a boolean for each level for checking if it was beaten or not how can I call to that from the level selection level?

I quick Google search with the addition of UE4 turned up this. https://docs.unrealengine.com/latest/INT/Gameplay/Framework/index.html and this Whats the deferent between gamestate and game instance - Programming & Scripting - Unreal Engine Forums

TL;DR or don’t care: Use Game Instance.

Yep this question has been answered on here at least a couple hundred times. Game instance carries across in a single opening of the game. Save game carries across infinitely.