Sunsetting Legacy Data Persistence Systems

I thought for a while now that they returned at most what the code would expect to be returned, and saving was disabled already, too?

I had a game use it (very long time ago) and it didn’t save data nor load it at all. I wonder though, in my use case it’d be amazing to have the ability to export said data before it was deleted if we are the place owner, or at least have that option to do so? In my specific case, a friend gave me his game to actively maintain and the data from his place in theory due to this would still exist. I have ported it over to datastores however, so no worries there. Although, the DP APIs do not save nor load data as mentioned before already, at least to my knowledge.

I hope the various improvements to Datastore mentioned here will improve data consistency and performance!

It doesn’t actually save in LZ4 format. It still saves in the oldschool rbxmx format that it was initially implemented with

It’s good to see that Roblox is slowly retiring old, unused services. Can’t wait for the next generation, DataStore v1.1

:SaveInstance() doesn’t save in the LZ4 format? That’s interesting. It makes sense, its been deprecated for a longgg time so it probably never got upgraded to the new format.

I still think there should be a better way to interact with the rbxm format, I’m going to create a feature request.

1 Like

You can use these functions to serialise and deserialise Color3

function c3tostring(color3)
  return {R = Color3.R, G = Color3.G, B = Color3.B}
end

function stringtoc3(str)
  return Color3.new(str.R, str.G, str.B)
end
5 Likes

I’ve just been responding to a ticket regarding right to erasure, and just wondered, what do we do if one of our old games used Data Persistence to save data, and then a user requests erasure after data persistence tools are removed?
@dragonknightflies

  • Is Data Persistence and Data stores saved separately?
  • How do we go about deleting user data once these APIs are gone?
  • Would we potentially suffer repercussions from not being able to do anything about said data?

Roblox will automatically delete the data from Data Persistence so you don’t have to worry.

1 Like

I think it might be a way of discouraging further use of the function, and possibly to clear up back end stuff.

Don’t get your hopes up. In my opinion, there are too many reasons and problems that come with adding instance support to make it not worth adding.

This would be your only real bet.

1 Like

They answered this in the post.

What will happen to the documentation for all of these? Will it be removed completely like it had never existed or will it have a warning that it no longer works with a link to this post? Or will it remain the same as it currently is?

Also, with Player:SaveInstance(key, value) and Player:LoadInstance(key) methods does this mean we will be getting a built-in serialization method for saving instances with the new Data Store improvements?

3 Likes

Happy Scripting!. I, unfortunately, can’t build with datastores.

5 Likes

Not gonna lie: I didn’t know this was a thing.

2 Likes

I honestly forgot that these were still a thing.

1 Like

I heard it was useful for game copying, glad that it’s FINALLY copied!

2 Likes

Most exploiting tools already rewrite the function anyway, so I don’t see that problem going away anytime soon.

1 Like

Wow. May this service Rest In Piece. I remember using it in 2018 when I was still trying to learn how to code, but I didn’t know it was deprecated. :confused:

1 Like

epic update, it was very painful to use the dataStore service, and now, this api is insane… no longet datastore service, but a data that can be scripted using a simple function. this is awesome… GG!

1 Like

I think you misread the topic…

Roblox is removing the Data Persistence system in favor of DataStores, not the other way around.

3 Likes

You misread the topic. The function is losing its functionality in favor for datastore service. Also you should be using DataStoreService anyways because it is more reliable, has more functionality (ordered data stores, global datastores, etc.), and is being updated regularly by ROBLOX. Also, soon there will be support for backups. And I’m not sure about the backend stuff behind the two but if you wanted data to be saved for sure, use DataStoreService.