Albeit deprecated, what is your take on using Data Persistence in new works?

As I was searching through the Developer Hub, I decided to go down memory lane and take a look at some old API members involved with Data Persistence (DataCost, Player::Savex, …). I acknowledge that while DP is deprecated, such functions can still be used for what I can only assume is legacy purposes or for a reason preventing the members from being removed.

After a bit of skimming and thinking, I got a whack thought - combining the use of Data Stores and Data Persistence for a save system of sorts. Where Data Store fails, Data Persistence steps in to hold temporary session data until the Data Store is up and ready to take hold again.

I know. Data Stores work across games, while Data Persistence is only specific to the place that it gets used at. If you think about it though, if your game only consists of one place, could you not achieve something like this or use Data Persistence members to support the Data Stores? As far as I know or have been told,

  • No yields
  • No Http errors thrown
  • Can be used infinite amount of times, whereas Data Stores have limits per minute
  • Can be disposable (while it’s bad practice, you could save on every stat change with DP then use DS to save when a player leaves or requests a save - if there’s a failure with Data Stores and player data doesn’t save, you can load this temporal data on a new server, save it on the DS, send the data for use to the player and save a blank/nil value to the DP key)

I don’t know what compelled me to think about this. It’s probably the fact that at this time, I was thinking of data, RPGs (and thus classic RPGs) and how old and/or outdated RPGs used/still use DP for data.

2 Likes

To answer the question:

Albeit deprecated, what is your take on using Data Persistence in new works?

Terrible idea. Data Persistence has been at the point where it’s so old that Roblox really could get rid of it at any time. That is part of the implication with deprecating something, anyway. But outside of the theoretical side of it, it’s a truly awful way to store data.

Simply, Data Persistence stores all user data in one file. If that file corrupts at any point, all their data is lost. Hey why is this text blue…?

The API endpoint for Data Stores and Data Persistence are the same. If the reason data stores error is because of outages, Data Persistence would be out too.

This is a bad thing. Data persistence saves when the player leaves the place, that’s it (to my knowledge!!! It’s been years since it was deprecated). If it can’t save, it can’t save and you lose all the data.

6 Likes

Makes perfect sense. Thanks for entertaining my strange bout of thought and directing me to a post that I didn’t search for. :+1:

2 Likes