What should I use? DataStore or DataStore2

Whats better way to save data for a full game?

Should I go normal DataStore or DataStore2?

A lot of people on here will tell you to use berezzas method but from my experience ive actually had no trouble with robloxs data store.

Would it be better to use datastore2 for a full game?

The answer is quite relative. DataStore2 is very good, and I like to use it, tends to help you and make your life easier, but DataStore by itself is great as well. Data losses happen from time to time, but you can counter it with carefully written scripts to some extent. Many games use default DataStore, prefer it and have no problem with it (I’ve been using it myself for a long time and have no regrets), although DataStore2’s goal is to improve the experience and helps take some security measurements, hence a lot of developers including me use it.

EDIT @SoftMurderer21

Best or not the best, people have different opinions. I like to use it, and you may want to consider using it only if you are proficient with classic DataStore. For example, DataStore2 has caching implemented, although I’ve personally done something similar before with default DataStore. Still, only once you are fluid with DataStore, you may want to consider the benefits of DataStore2.

Same here I’ve never had a problem with normal data store but there has been before and I prefer to go a safer way for my game

So I guess data store2 is the best one

DataStore2 is now inferior, due to how it saves backups redundantly and does almost nothing to prevent data loss at all, as well as it’s API being bloated. You’re also guaranteed to load old data when the previous server doesn’t save data in time since it doesn’t have session locking implemented.

I recommend using QuickNetwork, as it handles all the edge cases for you and is far flexible than both ProfileService and DataStore2, other benefits are listed in the documentation.

1 Like

ProfileService instead. Even Kampfkarren (the one who made ds2) doesn’t recommend DS2 for now.

We are gonna be getting some big datastore changes soon, and ProfileService should handle future proofing way better.

1 Like

I agree using a session locking solution is better, but that’s doesn’t seem to be true given that DS2 has not been any cases about dataloss ever (when used competently).

Datastore2 will handle player data and it’s issues automatically for you, and it does that well for the most part. If you’re a beginner just trying to make a simple datastore, I would say go for DataStore2 as long as it’s not a serious project, you’re bound to have less overall issues with future proofing for the most part, If you can, and you know how to use ProfileService, then absolutely go for that.

There have been a lot of cases regarding data loss when using DS2 including my self too, if you happen to read the source code, you’ll see that it doesn’t really do anything to protect against data loss nor handles edge cases (e.g data corruption).

Do note that some edge cases that ProfileService handles are bloated.