Is there a useful upper limit to the size of ArrayPrefs (PlayerPrefs) data?

I’m making a game for iOS which has a rather large set of records (high scores etc). For each of the 30 levels, there are 13 difficulty levels, and for each of those there are top tens of three different stats. All of that is for EACH player profile. So if there are 10 players, there could be up to 10 x 30 x 13 x 30 = 117,000 ints in the records. On top of that, there are other general saved preferences but the records will be the most bulk.

I figure I’ll save the data at the end of each level, perhaps when losing a life and whenever the player pauses the game (as I want to save current game state too).

My question is: is this likely to result in a huge performance hiccup, using ArrayPrefs2? Using it would make coding simple. One alternative is to create a separate record file for each level for each player - but I’d rather avoid having to code my own I/O system if possible.

I’d appreciate any advice in advance of getting myself in a tangle!

There isn’t a maximum size, however PlayerPrefs just wraps NSUserDefaults, which is a plist file that’s read and written as a whole, so storing that much data in it is far from efficient (and I don’t know if it would cause issues trying to write it all when an app is shut down). You’d want to write separate files, preferably one per player per level. It’s not really all that hard to write a system using the System.IO.File classes.