You have most of the tools you need to implement an unlock system. You just need to break down how the system you want will work and implement it in manageable chunks. Let’s look at unlockable levels.
What’s step 1? Well, you could say, “we have these levels we want to be unlockable.” You know now that your player needs a way to discern which levels are locked/unlocked and pass that information to your level selector (might recommend an array of bools you can then cross-reference by index with the level array in your selector using a simple for loop, but it’s really dealer’s choice as long as it works). What next? We want to purchase the levels with coins, so now your player needs a variable for the coins they have, the levels need a cost in coins, and we need functions, both to see if the player can afford the level, and to actually spend the players coins to unlock the level. Now your player needs a way to earn coins. Converting points to coins is simple enough, so now we need a variable to store how many points we need per coin and a function to convert points to coins at the end of each level. Once all that works, we’ll need to make sure our new coins and unlocked levels data is stored in a file and loaded in the Awake() function for our player (for the sake of permanence, but a simple singleton setup could maintain you per session). This is the bit they have not covered at all at this point, but I’d wager plenty of helpful information exists online to get you through with some googling.
In my example, you may notice I started at the last step, the goal if you will. I’ve found that’s the easiest way for me to come up with a plan, and then I start implementation at the end and work back to where I started my plan. Find a system that works for you and go with it. You’ll find that, occasionally, you bite off a little more than you really thought you would, some step that was really 10 steps hiding behind some simple premise, and you’ll learn something new while you work through it.
NOTE: This, in no way, means I’m against them touching on unlockables or save data in the course. Just doesn’t seem like the right time while they’re still covering the basics of C# in a lot of places to make sure things sink in. That shouldn’t stop anyone from going out on their own when they feel comfortable and doing it anyway.