Best way to implement a level-chain

For persistent data while the game is running, check out the Game Instance. You can access this from anywhere with GetGameInstance() call and this persists through level loads.

You may then also want to check out the USaveGame class - Which allows you to easily save data in a binary file to disk.