Hi Xayias, thank you for the feedback. I’m guessing that you’re calling this “LoadLevel” event when your custom Next Level button is clicked. Regarding the level selection logic, I’d suggest creating a Name type array in the BP_GameInstance blueprint. Let’s call this array “LevelNames” as you’ve already done. We will be storing the names of each map as specified in the Content Browser.
Select the LevelNames array from the variables list and add new elements to it, with the first element containing the name of your Main Menu map, followed by map names for the actual levels in your game in order as shown here:
Now that we have the level names stored in the array, we can take what you already have with the increased level index and access the element at said index in the array to get the map name, and then pass it to the Open Level node.
That’s all there is to the next level logic, but we need to also make sure that when the first level is loaded from the main menu, the CurrentLevelIndex is increased from 0 to 1. So for this, head over to the Widget_MainMenu, and replace the default logic with the following:
I believe you should have a basic level selection system working now. Let me know if you have any doubts regarding the workflow.
Regarding the checkpoints, I had not considered that before. I’ll do some tests and get back to you later this week.