EasyProfile is a profile manager that uses ProfileService under the hood. It is meant to give you an easier experience while setting up your data framework, but also gives all the tools which are necessary to customize how your data will work and be stored. What it’s doing is running all of the boilerplate code behind a function; this shortens your code but also makes it the exact same, while maintaining the same feature set that ProfileService has and even more. Some examples of this include a function which creates a leaderstats folder under the player based on the corresponding data given. It also boasts simplified global updates (later referred to as global keys). Global keys are just like global updates, but way easier to understand and use in a casual manner.
Available features
Verbose
The library has a wide variety of different APIs, including many for utilities
Reliable
EasyProfile gives you and players a consistent and reliable experience
Familiar
Quite similar to the ProfileService API
Easy
Completely cleans up after itself, ensuring there are no memory leaks.
… and much more!
Is it better than ProfileService by itself?
Yes, of course! The API is meant to be nicely written with it and much easier than creating your own. Since it can be styled as much as you’d like, there really is no limit on how much you can make it differ from the default UI. Along with customizable tweening, and animation types it would greatly beat out any custom systems.
Installation + Usage
To install, you can get the model from the marketplace/github or install it via Wally. From there, you can go to the next article in tutorials to learn more about how EasyProfile works. If you need any additional help, feel free to reply to this post or shoot me a message on Discord.
Issues
Came across an issue in our code? Simply create a new issue on the GitHub repository tagged with the package name or create a new bug report in our discord server.
Conclusion
Please share all of your feedback below! We are always looking for ways to improve our packages for all.
Well, GlobalKeys are basically keys that get sent to other players cross-server/inactive players.
The GlobalKey dictionary is returned through PlayerDataObject:GetGlobalKeys() which returns a dictionary of keys that were sent to the player while they were inactive. To listen for cross-server keys, use PlayerDataObject.GlobalKeyAdded. A global key object is: {Key: string, Value: any, KeyId: number} if I freeze the table returned, you can’t edit the object.
Fixed a fatal bug that was affecting PlayerDataObject:UnclaimSessionLock(). This issue should be fixed as of now, please let me now if you run into any other issues.
If I have the correct, most recent module, then I’d like to report an issue. On line 211, you should probably check for nil explicitly since keys with false as a value raise the error.