Hi,
using playerPrefs, you can get there:
say you have 3 groups of 16 levels, the data you want to save for a given level would start with:
[groupId]_[levelId]_[DataKey]
so for example, if you want to store a boolean flag for the completion of a level 4 of group 2, you would have "2_4_completed" as the key to read from the playerPrefs.
so when you show all the levels for a given group, each UI element responsible for showing wether a level was completed or not, simply need to go read that key in the playerPrefs.
with this, you can also save scores, or level bonuses or stars.
Does that make sense?
Another more powerful and scalable solution is to use XmlMaker, but it requires a very high level of understand of PlayMaker, data structure etc, so not for beginners. With XmlMaker, instead of saving data in many different playerprefs key, you save all your data in one playerPrefs key, as an xml string. and then you can do powerful searches among your data to build complex scoring systems, and it also allow for easier debugging of data all together.
Bye,
Jean