Unlocking next stage (Level progression)

So basically i have a level select section but i only want players to be able to play the levels that they have unlocked via completing the previous level… Angry birds level select is a good example for this.

Not quite sure if this has got anything to do with blueprints…
I can’t find any documentation regarding this and not quite sure on how to get this done, any help or ideas?


Hey FusSionz,

Check out the Open Level function! I think that will help you with what you’re trying to do!


Oh I didn’t explain myself properly.

So basically i have a level select section but i only want players to be able to play the levels that they have unlocked via completing the previous level… Angry birds level select is a good example for this.

Sorry and thanks for your reply. :slight_smile:

Yeah, I’m wondering about this too. Also I’ll try to make an experience system next week and I want a player to go to next level when he/she gains enough exp. Anyway, if we learn what you asked here, I can maybe develop it further for exp integration.

Thanks for this question and if you got the answer anywhere else please update this post also so everyone can learn.

So, anyone have any idea about unlocking next levels?

I would suggest looking into the save systems in Unreal… There are couple tutorials up. To make the levels inaccessible, you could simply have an array of bools in the save that represent which levels are unlocked. Then, in a UMG widget, you could use the bools to determine whether the button to open that level was an actual button instead of just a picture.

It sounds so complicated. I’ll look into save systems let’s see if I can come up with something.

To save info, The Britain did a tutorial about game instances : Gorilla Gong Tutorials - Community Content, Tools and Tutorials - Unreal Engine Forums and if you can’t bump a level (having a code which autorize to go to levl 50 when you are at 40 for example) having an integer with the current level saved is enough. In your hud, you use this value as condition in a branch to show a pic or another (have seen that this is possible since 4.5 but i don’t know how) and load level or not. If you can go to higher level without have to do all the ones under, you’ll need as said before an array with all levels registered and then compare each level with its dedicated bool.

Edit : as the value is used in hud, you may be have easier way to set it in character or hud, use it when needed as said upon and save it in game instance only when quit and load it on start game. Depending if you load new map or not.

Will do!

Could you please share the tutorial you suggest? The ones i have searched and gone through seem not to work on my end…


Tracey White has done some great video tutorials:

His data saving blueprints were exactly what i was after: Complete level 1 and unlock level 2 and so on… like i explained in my main post.

You can watch his series from the beginning or do what i did and begin at 4 and skipped to 9, 10, 11, 12, 13 :slight_smile:


Yes, impressive!!!

I also watched these tutorials and helped me lot. Making 3d rollerball game with different balls and levels also health/damage and respawn system, but not still yet understand that video tutorials 100%. I don’t see any tutorial (or maybe I am blind) what is that Mazesavegame blueprint where is reference

Might be in a minority here… If so, don’t taze me bro :stuck_out_tongue: … I for one, despise level / level-up systems!
Stolen phone / lost tablet / corrupted gamer profile / dead Xbox, means lost progress w/o cloud / backup.

So what if you don’t want to have to play all those same levels all-over again, or you have a particular favorite?
If the game isn’t GTA, and therefore doesn’t need a regular game-save-system, why not try something oldschool…

In the level-selection-menu, present a quick unlock puzzle or quiz before granting access to that level…
Each completed level grants the player an unlock code to the next via a puzzle, or math / cryptic / whimsical Q/A etc.

It leaves the game open to easy cheating via quick net search. But if its not a competitive / MP game, does it matter?
Then if your phone / tablet / PC / PS / Xbox is stolen or dies, no worries. Just enter the code and jump to whichever level…

We’ve all become overly-accustomed (brainwashed even) into making level-based games or ‘thinking we have to’ (me included).
But NMS / Hello-Games keep saying that this isn’t good for gaming, as its ‘holding the player’s hands’ too much and killing the UX.
Triple-A studios are experts here. How many titles have inescapable checkpoints / unskippable tutorials on pressing the fire button!!!

but those print screen text and comparing times don’t work. I don’t completely understand that save game connection variable and that Tearl has aMazeSaveGame slot and file where to save player data. It makes correctly SAV File to unrealprojects folder, but it doesn’t change time in widget when level completed. It always shows my default time 999 and comparing doesn’t work, only text which shows on screen is level cleared. Watched these tutorials 3 times