ProfileStore - Save your player data easy (DataStore Module)

I will wait for any feedback on profile loading between server teleports - I personally do not use ListenToHopReady in my own game between teleports and have not ran into any issues.

7 Likes

I appreciate the quick early adoption! Will await your further feedback :+1:

5 Likes

this is fire :fire: thanks loleris!

5 Likes

Awesome seeing a sequel to an already popular datastore module.

To make setup easier, do you think you could publish and maintain this on Wally?

7 Likes

I’m not familiar with Wally, but I’ve tried publishing ProfileStore to Wally. I would be grateful if you could reach out to me personally and let me know whether the current Wally setup is good :slightly_smiling_face:

6 Likes

how does this compare to document service?

2 Likes

Would there be a function to yield until profile is Saved & return if its successfully saved or not?

2 Likes

Looks Good! :fire: I will use it after the risks are gone.
Can’t wait for new Replica :slightly_smiling_face:

2 Likes

This looks fantastic! Looking forward to trying this out over ProfileService

2 Likes

DataStores can fail requests and by design ProfileStore avoids forceful saving until a session finally ends. You could, however, hack something up using Profile:Save() and Profile.OnAfterSave! Note that Profile:Save() will not repeat a DataStore request if it fails - it’s unlikely that’d happen, but it can. With some simple code wizardry you could listen to Profile.OnAfterSave with a timeout.

3 Likes

Another module script which will become the standard for data stores. I’ll definitely try it out for new projects. I do hope the ReplicaService rewrite will be easier to understand, as it took me a bit to pick up originally. Regardless, thanks for your commitment to development throughout the years!

3 Likes

Doesn’t seem that good compared to SDM.

1 Like

SDM uses unstable methods and has a subpar API

2 Likes

So does ProfileStore.

The API (community made and approved by the creator) has everything it needs, no need to extend a single sentence into 3 whilst keeping the same meaning for the sake of looking good.

2 Likes

Awesome stuff, and amazing work as usual!

I’ve been using ProfileService FOREVER, when ProfileStore is more tested and all the little stuff is ironed out, I will 100% be adopting it in all my projects!

Thank you for open-sourcing your work like this, and providing the level of detail that you do. I’ll definitely be leaving a donation ; )

4 Likes

Hello @loleris, I’m very looking forward to these overhaul of two of my favorite modules! However, I have a few questions regarding these new modules and upcoming changes.

  1. Will ProfileStore still have support for “mock data” much like the old version - in case we’re working in a private place environment where DataStore API isn’t available nor accessible?
  2. Whenever I use ProfileService with DataStore available - upon closing the game, it would “freeze” for a few seconds which to me is annoying. It could be Roblox’s tho and the fact that it’s saving your “data” so I won’t say much on this.
  3. Will the newly supposed “Replica” module, the successor to ReplicaService, have support for UnreliableRemoteEvents? This might come in handy for “us” especially it’s a use-case for client-and-server communication module whilst needing to update things simultaneously.
  4. Speaking of Replica, will typechecking be added as well for better readability? Currently, in my game of which I utilize ReplicaService; I have a custom “sub-module” which have built-in methods called “Replica”. This was done on both the client and server - whereas on the server it has additional methods like Destroy. I feel like this could easily be incorporated into the newly Replica module and would make utilizing the said module feel much better.

image

image

image

2 Likes

This is a amazing module!

Took me around an hour or so but i modified https://www.roblox.com/games/17276569867/Push-a-Friend-2-Player-Obby to use profilestore instead of profileservice, seems to be working fine so far (published to production).

i went ahead and donated 6,990 R$

4 Likes

ProfileStore does have support for mock data like ProfileService already. You can see this if you look in the API documentation for ProfileStore which you can find here. And this is the link to go straight to the Mock API.

2 Likes

I’d say “yes” to all your questions, except for UnreliableRemoteEvents - that’s actually a nice idea and I’ll integrate it into the new Replica as it’s easy to do so.

2 Likes

You should consider opening a patreon or buymeacoffee, I’d happily donate that way!

3 Likes