Saving large amounts of data to DataStore

Looking for some advice or some further reading. Most of my attempts at games so far have used JSON to store the data as players would create relatively very minimal data.

My most recent game, however, may give users the potential to create very large datasets which I would like to store for their future game sessions as I will be saving instances. I have already tried to mitigate this somewhat by only saving vertices of the objects, as well as approximating the properties of that object - the rest of the data is procedurally generated from that saved info.

However, I am still a little concerned, so I was wondering if:

  1. Is Stravant’s BitBuffer (and the subsequent updates by other users) the best & most used way to save large data? (I understand this comes with some computational cost and does take time to load/save)
  2. If not, I’m assuming I am able to split the data across multiple instances for each player in JSON format?
  3. If you have in the past / currently handle large amounts of save data, what method do you use?

Thanks

5 Likes

If I understood well, you’re concerned about saving too large strings to a datastore key. Well, if I were to face such problem, the first solution I’d try would probably be splitting the data across multiple keys if it’s too long. You could achieve this by, in each key, including the name of the next one.

1 Like

That answer’s (2), thank you - I assumed this was the case, but I wondered if anyone had any direct experience / any further documentation on this topic too.

BitBuffer looks like a decent method bar its time costly nature, I was also curious as to whether this was currently being used by the top games that saved large amounts of data