Best practice to store levels and highscores etc

I’m writing a game similar to Bubble Blast 2. It has 1000s of levels and each level has a highscore, number of chances, the level layout (the way I have it is as a string characters) and maybe one or two more values per level. My question is, what’s the best way to store this large amount of data for a game like this? I was going to store this data in a *.txt file but I also read about doing it with XML? Can I get a lot feedback on this so I do this right the first time? Thank you so much!

I like json because it tends to be more compact than xml, and more versatile than csv.
You can use LitJson, or any other json parser libraries available for C#.

If the data gets REALLY big though, any of these formats will take noticeable time parsing them for load.
At that point, you might want to consider a binary format. Although, I think the best approach is to use json at first, and consider switching to binary if the load time becomes an issue.

Alright, good points there but there’s only a few values you’re storing per level. I don’t see it becoming a problem with loading and saving. Although, I’ve never done this before so I really can’t say for certain for that fact hehe I can always split all the data into multiple files, 100 levels per file. That’d cut down on the loading and saving and parsing time.

Anyone else would like to give their input?