So after digging in we discovered that tvOS won’t allow local saving like any other platform. You need to use iCloud there’s no way around it.
Digging it more, I discovered there IS a local way to store things, which is NSUserDefaults. But it has a maximum of 1Mbs and is stored in a place where the OS can just wipe it out if it needs, so it is NOT OPTIMAL for game saves, you don’t want to lose your data randomly. Furthermore there’s no way to access it natively in Unity, you have to resort to a plugin or writing the ObjectiveC code yourself.
What I want to know is, how does Unity implements PlayerPrefs on tvOS? Is it through NSUserDefaults or iCloud’s Key-Value storage option? I’ve read sources that say either, so I’m not sure. If it uses the latter, an option instead of writing files could be serializing our data into a string and saving it on PlayerPrefs, which would be finally a solution for us without resorting to any more plugins (we just bought a plugin and implemented iCloud’s documents, which aren’t supported in tvOS and that is a nightmare).
And if that doesn’t work, what is the most common way people use to implement saving in Apple TV, with Unity?
It’s weird, the lack of documentation and people speaking about it on NET just make me thing nobody is doing anything with the platform…