Never loop a set node around to itself. That is terrible coding. Grab a separate reference to the level counter variable and use the “increment” node OR you can manually do it how you have chosen by replacing the looped portion from the end of the set node into the “+1” int node with a separate reference to the variable. So it should look like this:
As for the game over thing, I am not really sure what the problem is. The English is hard to understand. I think you mean the win button function works correctly, but when you move to the “game over” blueprint and grab the variable it isn’t taking you to level 2. In that case I believe the issue is your variable “level counter” starts at 0, you add 1 to it, you end up opening “demo” not “demo_2”. If you want to open demo 2 then you should start your switch on int at 0 and hook up demo to 0, demo 2 to 1 and demo 3 to 2. As you have it, you skipped the first output and your variable for the level counter becomes 1 after the win and thus opens the first level “demo” not the second level “demo 2”.