Here's the model link of the entire project in the video! If you're having issues, join my Discord (link in description) and ask for help! Or you can download this and compare scripts. create.roblox.com/store/asset/70818165544202
Thanks so much for this video! I really appreciate how you broke down the official example code and improved it with a module. Including the Data Store Editor plugin was a great touch, too. It’s clear that you have real development experience and put a lot of thought into making this tutorial genuinely helpful. I also love that you use type annotations in functions; so many tutorials skip them, but they’re an important habit to develop. When projects get more complex, having clear type definitions makes debugging and maintaining code so much easier. I wish I had started using them earlier when learning Lua and Python!
Thank you so much for commenting, this made my day! I like to sprinkle in more advanced skills into tutorials for intermediates/beginners. Being exposed to high quality code is one of the best ways to improve as a beginner programmer. I'm glad to see you're someone with previous experience outside of Luau too!
Incredibly underrated channel, I'm only about 22 minutes in the video so far but everything has been really understandable and clear what's going on. Thank you for this, it'll help a lot with my projects😄😄
I was planning to include global leaderboards in my upcoming game. After some research I found out that OrderedDataStores are pretty much required for that. Seemed like a headache to me since every statistic must be in its own seperate DataStore, which requires way more API calls to Roblox. And also I was doing DataStores manually already which I wasn't very comfortable about. So I just ditched that idea and decided it was time to upgrade to ProfileStore. It seems pretty neat. Thank you for guiding me through! I'm currently rewriting parts of my game to adapt to ProfileStore.
thank you for commenting and I'm glad this was helpful for you! It does everything extremely well except global leaderboards - you still need a different solution for those
HI. This is one of best tutorials about ProfilStore i found. You explain it so well. But can you make a second part with: - Folder Handling like Settings, User Items or Dev Products/GamePasses I really need this to handle all my datas with the ProfilStore ;) Thank you in advance. Btw: what DataStore Editor did you use and Its free?
@@koainanis5840 absolutely I will! I planned on doing that in this video, but it got too long. I’ll cover game passes and developer products mainly, but I can also add in settings or items/pets!
I'm gonna have a hard time transferring my scripts from using regular data store to profile store lol. Gonna take me hours even WITHOUT bugs happening in the meantime.
Just try to do it as programmatically as possible... when I started transferring my data in an old game it was a pain. But very worth it in the long run
@@yarik_superpro if you’re worried about backdoors, you can easily read the entire source code. It’s open-source, and no sketchy business. Not only that, but Loleris the creator is one of the most well-known, widely respected developers on Roblox! Thousands of games have used this module and its predecessor over the years.
very interesting. I'm thinking about switching to this library for my game though i have a few questions. I'm making an mmorpg game and i have quite a massive data to manage per player so i was wondering if you think that itd still be worth it to use it as the data store would be storing the leaderstats, inventory, redeemed codes, skills level and XP data and all of that knowing that a player can create up to 30 "character" slots. I'm just curious about your way of how you'd manage such data using profileStore
30 character slots is a lot! Even large MMOs like WoW usually capped players at 10 per realm, and they had the luxury of storing data on the Client's hard drive. For an MMO, ProfileStore itself is going to greatly benefit you. It's blazing fast, even in servers with tons of players, and super efficient with API calls. You'll be able to implement complicated player-to-player features (e.g. trading, gifting, mail) much easier with ProfileStore than by trying to create your own datastore solution. A profile's data limit is roughly 4,000,000 characters, the same as a regular key in a Data Store. For your use case, I would probably create a unique profile for each character slot when a player creates a new character. Also, I would have a player profile that contains the keys of all the character slots and other data you need for the entire account, totaling 31 profiles max. Don't create the additional profiles unless a player creates a new character! You can limit your DataStore use. If you have any other questions, feel free to join my discord server!
@@Rileybytes Thanks a lot, this is what i had in mind pretty much. Yeah i also had plans for trading. I had made a global notification system that allowed you to invite player on your character slot to play a coop rather than solo (since its a skyblock mmorpg). I struggled a lot due to the rate limiting to update notifications on client, kind of a pain. I managed to find a way around but i might just completely overhaul it with profileStore.
Hey there man, i just came across this video on my recommended, and i have to ask about something, is it possible to call something from the server, like for example a gui on the players screen, and they have an item out/skill equipped they wanna switch out of, how do i handle that? do i just make it fire to the server like, "game.ReplicatedStorage.Remotes.Storage:FireServer("keycodeforsecurity")" and then in the serverscript, it will check what the player is holding out currently and remove it from the player then display its name on the gui name, like an empty slot with the text displaying "None", but as soon as the player holds out an item and clicks on said button, it will remove the item and display its name on the button, sorry for repeating my words, as i wanna implement this to a game i work on which uses roblox's default datastore service to handle data, hopefully you can answer me, cheers!
also what if you dont want it to save a piece of data? is there a way so that piece of data doesn't save or should I just make a different data script just for things that don't need saving cause that's what I'm currently doing
One common approach is to make another storage point in DataManager called "SessionData" (similar to our approach with DataManager.Profiles, create DataManager.SessionData), and create an additional table there for each player while in game. When they leave, you can just delete their entry. ^ A good place to do this would be the Initialize() function in DataInit. If you keep SessionData in DataManager, you can use the same module script to mutate temporary session data as well as permanent data.
Yes suphi's datastore module is another great option. I went with ProfileStore since it's so new and will continue being maintained by Loleris for quite a while. It's a little more up to date
@alt_baconxd there are a few reasons I talked about in the video. It’s a big performance improvement, it’s updated for Roblox’s changes to the DataStore API in 2025, it’s a simpler API, and it’ll be more future proof since the author is going to be focused on updating it
At first when i heard about playerstore I thought it was this complex thing that only super advanced scripters could understand and use but turns out even a amateur level scripter can understand this and use it in their own game and it is probably even simpler than doing datastore the "normal" way. so if any new scripter is watching this and is intimidated don't be this is honestly probably simpler than doing it the old fashioned way. that's just my opinion tho. (for the creator): do you know how you would do a global leaderboard with this? I've always had trouble making global leaderboards it would be nice if you make a tutorial on how to make a global leaderboard with playerstore or something :)
Absolutely! It's far easier than trying to create your own datastore system, especially for new players. To answer your question, global leaderboards are not suggested to be made with ProfileStore, since it wasn't created with real-time cross-server data updating in mind. It's best to use an OrderedDataStore for that! And I've got a tutorial on my todo list about that!
@@Rileybytes sorry to bother you again but could playerstore and ordered data store co exist and what I mean by that is that they wont cause any issues like sending to many requests? also thanks for answering
@V1per1Real nope there won’t be any problems. You can have multiple data stores per experience. If you want to check the limits, look on create.roblox.com for ordered data stores!
@@Rileybytes hey sorry to bother you AGAIN 😥 but I was looking back at the code for the data manager and I need help understanding this why do you need to do profile.data.cash += amount but then do player.leaderstats.Cash.Value = profile.Data.Cash ??? why not just player.leaderstats.Cash.Value += amount ? I'm so confused on why it needs those two and not one or the other. Thanks
@ either one can work, but it’s just semantics! I view it as easier to understand this way: you add the change to stored cash value in profile. Leader stats just reads the current cash value, it doesn’t store it for use, so we get the new one instead of adding or subtracting from it.
@@sirgoofy5612 depending on your system you’ll need to migrate the data to new profiles. You can do this in the Initialize() function or create another one. Just check if there is preexisting data, and migrate it if it is. Also, only migrate it once. For new players you don’t need to migreate
@Rileybytes What I did is each slot gets saved under the same profile, but you'll be able to select a profile, which sets a temporary object in the datastore. I just do everything needed for the player based on the selected table's data. My only concern is whether this might affect performance.
@ Oh I see... I would actually keep all of the data for each slot in just 1 profile. A profile can hold up to 4,000,000 characters of data, so you're not going to run out of room. You just need to limit the number of slots players can have, maybe 3 or 5. In your Template script, make several empty tables within the main table called "Slot1", "Slot2", "Slot3"... etc. Then have another table that's the base template for a slot, and use a deepcopy function to overwrite the empty Slot table when a player creates a slot. If you then have a variable in the main Template table that stores which Slot a player is on, it should be super easy to find the right data. Keep it all in 1 profile! That's the least confusing way to handle it in my opinion. If you want more help join my discord server! I can help you more directly there. Good luck!
You can just have profiles for slots as UserID_1 (slot 1), UserID_2 (slot 2) At least I find it simpler that way, have a seperate game for slot selection though. That's the way Vesteria, Deepwoken, Type Soul among other games do it
no it's not supported. ProfileService excels in isolating data and keeping changes to one source. Global leaderboards need data to be accessed and manipulated from many sources simultaneously. The best bet is an ordered data store
@@Rileybytes So, you're able to use an ordered data store alongside your leaderstats profilestore saving? (I think I'm saying that all correctly) Basically. Can each service be used in the same game...
How you make a script wait for the DataManager to get all profiles from the DataInit script? if you ask for a player profile very quickly at the start of a new server, it will return no profile, as no profile is in the profiles table, someone know how fix this?
Okey this is dumb but i just added ReplicatedStorage:WaitForChild("DATAREADY") in the scripts who asks the data manager to early, and added in the data Init script a bit of code that creates a instance called "DATAREADY" in replicated storage when loads the first profile successfully (only one time)
local function WaitForProfile(player) local profile = DataManager.Profiles[player] while not profile do task.wait() profile = DataManager.Profiles[player] end return profile end
i didn't watch the video yet, but something i've been confused about since i heard about profile store around a month or 2 ago, how is it any different from profile service?
Hey, where would I add a player kill function to record player kills? function onPlayerKilled(player) local playerLeaderstats = player.leaderstats playerLeaderstats.Kills.Value = playerLeaderstats.Kills.Value + 1 end game.Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(character) character:WaitForChild("Humanoid").Died:Connect(function() onPlayerKilled(player) end) end) end) something like this?
I tried just putting that function in a script and it works great, but profilestore does not save the kill data like it does the gems and gold in the video. I also followed exactly what to do in the video for adding a new value to save.
@@matthewrichard5126 You Have to do it Like this function onPlayerKilled(Profile,player) local playerLeaderstats = player.leaderstats Profile.Data.Kills += 1 playerLeaderstats.Kills.Value = playerLeaderstats.Kills.Value + 1 end
Try making a function in DataManager that logs a player kill, using the same format as gold or gems function, but for TotalKills. Then use the DataManager to set profile.Data.TotalKills += 1, and update the leaderstats there as well
function DataManager.AddKills(player: Player, amount: number) local profile = DataManager.Profiles[player] if not profile then return end profile.Data.Kills += amount player.leaderstats.Kills.Value = profile.Data.Kills ReplicatedStorage.UpdateKills:FireClient(player, profile.Data.Kills) end
@radioactive5053 yes there are a couple of methods! They use ProfileStores advanced Messaging system. It’s something i’m going to make another tutorial on, since it’s pretty in-depth. The tutorial will cover player trading and gifting, even when players aren’t online
Replica and ProfileStore are used for 2 different things, so I wouldn't say it's better or worse. ProfileStore saves data easily, and Replica just transfers data between server and client, not saves it. Replica is very useful for things like Tycoons
Here's the model link of the entire project in the video!
If you're having issues, join my Discord (link in description) and ask for help! Or you can download this and compare scripts.
create.roblox.com/store/asset/70818165544202
Thanks so much for this video! I really appreciate how you broke down the official example code and improved it with a module. Including the Data Store Editor plugin was a great touch, too. It’s clear that you have real development experience and put a lot of thought into making this tutorial genuinely helpful. I also love that you use type annotations in functions; so many tutorials skip them, but they’re an important habit to develop. When projects get more complex, having clear type definitions makes debugging and maintaining code so much easier. I wish I had started using them earlier when learning Lua and Python!
Thank you so much for commenting, this made my day! I like to sprinkle in more advanced skills into tutorials for intermediates/beginners. Being exposed to high quality code is one of the best ways to improve as a beginner programmer.
I'm glad to see you're someone with previous experience outside of Luau too!
Incredibly underrated channel, I'm only about 22 minutes in the video so far but everything has been really understandable and clear what's going on. Thank you for this, it'll help a lot with my projects😄😄
@@エニエ Glad to hear you’re enjoying it! Good luck with your projects and thank you 🙏
you should upload more often man
you make great videos 😊
thank you so much! i will do my best to upload more
I was planning to include global leaderboards in my upcoming game. After some research I found out that OrderedDataStores are pretty much required for that. Seemed like a headache to me since every statistic must be in its own seperate DataStore, which requires way more API calls to Roblox. And also I was doing DataStores manually already which I wasn't very comfortable about. So I just ditched that idea and decided it was time to upgrade to ProfileStore. It seems pretty neat. Thank you for guiding me through! I'm currently rewriting parts of my game to adapt to ProfileStore.
thank you for commenting and I'm glad this was helpful for you! It does everything extremely well except global leaderboards - you still need a different solution for those
This is such a huge time saver. Love you for showing me this
@@matejcerv glad to help!
Nice video, keep going!
thank you so much!
Again the goat with the goat stuff 🐐
HI. This is one of best tutorials about ProfilStore i found.
You explain it so well.
But can you make a second part with:
- Folder Handling like Settings, User Items or Dev Products/GamePasses
I really need this to handle all my datas with the ProfilStore ;)
Thank you in advance.
Btw: what DataStore Editor did you use and Its free?
You can just put settings table to template and use it in settings and items can be in table
@@Dehhoy thanks for comment but atm i dont understand that :( I must see it how this works :)
@@koainanis5840 absolutely I will! I planned on doing that in this video, but it got too long. I’ll cover game passes and developer products mainly, but I can also add in settings or items/pets!
@@koainanis5840 I used the DataStore Editor by Sleitnick. I think it’s $9.99, but it’s 100% worth the money. It’s my most used plugin
@thank you very much. I am looking forward to it. I appreciate it 👍
I'm gonna have a hard time transferring my scripts from using regular data store to profile store lol.
Gonna take me hours even WITHOUT bugs happening in the meantime.
Just try to do it as programmatically as possible... when I started transferring my data in an old game it was a pain. But very worth it in the long run
can u make a vid showing how to recode an old datastores to ProfileStore, like a code already using the roblox one with it saving stuff
yes I will give this a look
i didn't understand anything, however i love datastores
Thank you for taking the time to comment! I hope you were able to learn something or get a useful script!
istg all this "datastore" modules look like being made by people who make backdoors so they will know right keys
@@yarik_superpro if you’re worried about backdoors, you can easily read the entire source code. It’s open-source, and no sketchy business.
Not only that, but Loleris the creator is one of the most well-known, widely respected developers on Roblox! Thousands of games have used this module and its predecessor over the years.
@@yarik_superpro I hope you decide to give it a shot! This one’s worth it
So good! Also Face reveal??? 👀
bro not you too 😭
😈 muhhaaha 🤣
15:42 criminal... criminal... criminal...
Jokes aside, this tutorial was really helpful. I'm glad there's an easier way to handle data much faster as well.
i love profilestore
@@tz_dee it’s super handy!
very interesting. I'm thinking about switching to this library for my game though i have a few questions. I'm making an mmorpg game and i have quite a massive data to manage per player so i was wondering if you think that itd still be worth it to use it as the data store would be storing the leaderstats, inventory, redeemed codes, skills level and XP data and all of that knowing that a player can create up to 30 "character" slots. I'm just curious about your way of how you'd manage such data using profileStore
30 character slots is a lot! Even large MMOs like WoW usually capped players at 10 per realm, and they had the luxury of storing data on the Client's hard drive.
For an MMO, ProfileStore itself is going to greatly benefit you. It's blazing fast, even in servers with tons of players, and super efficient with API calls. You'll be able to implement complicated player-to-player features (e.g. trading, gifting, mail) much easier with ProfileStore than by trying to create your own datastore solution.
A profile's data limit is roughly 4,000,000 characters, the same as a regular key in a Data Store. For your use case, I would probably create a unique profile for each character slot when a player creates a new character. Also, I would have a player profile that contains the keys of all the character slots and other data you need for the entire account, totaling 31 profiles max. Don't create the additional profiles unless a player creates a new character! You can limit your DataStore use.
If you have any other questions, feel free to join my discord server!
@@Rileybytes Thanks a lot, this is what i had in mind pretty much. Yeah i also had plans for trading. I had made a global notification system that allowed you to invite player on your character slot to play a coop rather than solo (since its a skyblock mmorpg). I struggled a lot due to the rate limiting to update notifications on client, kind of a pain. I managed to find a way around but i might just completely overhaul it with profileStore.
Please when you are doing a video in scripting just zoom in so people dont have to squint or zoom in so we can see. Thanks
Usually I'm more zoomed in but I forgot to during this recording. Thanks for letting me know
no problem
How can I add the profile data to my GUIs that track my leader stats
Use the RemoteEvents from the video. In your GUI scripts you can connect to them and update the numbers when they are fired.
Hey there man, i just came across this video on my recommended, and i have to ask about something, is it possible to call something from the server, like for example a gui on the players screen, and they have an item out/skill equipped they wanna switch out of, how do i handle that? do i just make it fire to the server like, "game.ReplicatedStorage.Remotes.Storage:FireServer("keycodeforsecurity")" and then in the serverscript, it will check what the player is holding out currently and remove it from the player then display its name on the gui name, like an empty slot with the text displaying "None", but as soon as the player holds out an item and clicks on said button, it will remove the item and display its name on the button, sorry for repeating my words, as i wanna implement this to a game i work on which uses roblox's default datastore service to handle data, hopefully you can answer me, cheers!
Can you create a video on making clan spins
like a spinner wheel from ps99? or something else
Bro remembered his RUclips password 💀
@@Mustafajaloudi 😭💀 you’re not wrong
Lol
😂 I’m dead
also what if you dont want it to save a piece of data? is there a way so that piece of data doesn't save or should I just make a different data script just for things that don't need saving cause that's what I'm currently doing
One common approach is to make another storage point in DataManager called "SessionData" (similar to our approach with DataManager.Profiles, create DataManager.SessionData), and create an additional table there for each player while in game. When they leave, you can just delete their entry.
^ A good place to do this would be the Initialize() function in DataInit.
If you keep SessionData in DataManager, you can use the same module script to mutate temporary session data as well as permanent data.
How bout suphi's datastore module?
i think it's worth checking too
Yes suphi's datastore module is another great option. I went with ProfileStore since it's so new and will continue being maintained by Loleris for quite a while. It's a little more up to date
how is this different to ProfileService
@alt_baconxd there are a few reasons I talked about in the video. It’s a big performance improvement, it’s updated for Roblox’s changes to the DataStore API in 2025, it’s a simpler API, and it’ll be more future proof since the author is going to be focused on updating it
At first when i heard about playerstore I thought it was this complex thing that only super advanced scripters could understand and use but turns out even a amateur level scripter can understand this and use it in their own game and it is probably even simpler than doing datastore the "normal" way. so if any new scripter is watching this and is intimidated don't be this is honestly probably simpler than doing it the old fashioned way. that's just my opinion tho. (for the creator): do you know how you would do a global leaderboard with this? I've always had trouble making global leaderboards it would be nice if you make a tutorial on how to make a global leaderboard with playerstore or something :)
Absolutely! It's far easier than trying to create your own datastore system, especially for new players.
To answer your question, global leaderboards are not suggested to be made with ProfileStore, since it wasn't created with real-time cross-server data updating in mind. It's best to use an OrderedDataStore for that! And I've got a tutorial on my todo list about that!
@@Rileybytes sorry to bother you again but could playerstore and ordered data store co exist and what I mean by that is that they wont cause any issues like sending to many requests? also thanks for answering
@V1per1Real nope there won’t be any problems. You can have multiple data stores per experience. If you want to check the limits, look on create.roblox.com for ordered data stores!
@@Rileybytes hey sorry to bother you AGAIN 😥 but I was looking back at the code for the data manager and I need help understanding this
why do you need to do
profile.data.cash += amount
but then do
player.leaderstats.Cash.Value = profile.Data.Cash
??? why not just player.leaderstats.Cash.Value += amount
? I'm so confused on why it needs those two and not one or the other. Thanks
@ either one can work, but it’s just semantics! I view it as easier to understand this way: you add the change to stored cash value in profile. Leader stats just reads the current cash value, it doesn’t store it for use, so we get the new one instead of adding or subtracting from it.
how use print
print("words")
nice module, i would like to use it for my existing system but i have a system that uses slots how would i apply it there
@@sirgoofy5612 depending on your system you’ll need to migrate the data to new profiles. You can do this in the Initialize() function or create another one. Just check if there is preexisting data, and migrate it if it is. Also, only migrate it once. For new players you don’t need to migreate
@Rileybytes What I did is each slot gets saved under the same profile, but you'll be able to select a profile, which sets a temporary object in the datastore. I just do everything needed for the player based on the selected table's data. My only concern is whether this might affect performance.
@ Oh I see... I would actually keep all of the data for each slot in just 1 profile. A profile can hold up to 4,000,000 characters of data, so you're not going to run out of room. You just need to limit the number of slots players can have, maybe 3 or 5.
In your Template script, make several empty tables within the main table called "Slot1", "Slot2", "Slot3"... etc. Then have another table that's the base template for a slot, and use a deepcopy function to overwrite the empty Slot table when a player creates a slot.
If you then have a variable in the main Template table that stores which Slot a player is on, it should be super easy to find the right data.
Keep it all in 1 profile! That's the least confusing way to handle it in my opinion. If you want more help join my discord server! I can help you more directly there. Good luck!
@@Rileybytes I hadnt thought about the creation of new slots yet, Thanks for the help! ill def be joining ur server
You can just have profiles for slots as UserID_1 (slot 1), UserID_2 (slot 2)
At least I find it simpler that way, have a seperate game for slot selection though. That's the way Vesteria, Deepwoken, Type Soul among other games do it
Would you recommend your code over the code in MonzterDevs ProfileStore video 2 months ago?
Well since I wrote it yeah... but I love MonzterDev's channel and content and think his code is also great!
Im having issues but your discord server link is broken or expired
Does ProfileService allow for global leaderboards? (not the roblox built in one but one you attach to a model/screengui?)
no it's not supported. ProfileService excels in isolating data and keeping changes to one source. Global leaderboards need data to be accessed and manipulated from many sources simultaneously. The best bet is an ordered data store
@@Rileybytes So, you're able to use an ordered data store alongside your leaderstats profilestore saving? (I think I'm saying that all correctly)
Basically. Can each service be used in the same game...
@@Kevvv_Plays yes there's no problem using both
How you make a script wait for the DataManager to get all profiles from the DataInit script? if you ask for a player profile very quickly at the start of a new server, it will return no profile, as no profile is in the profiles table, someone know how fix this?
Okey this is dumb but i just added ReplicatedStorage:WaitForChild("DATAREADY") in the scripts who asks the data manager to early, and added in the data Init script a bit of code that creates a instance called "DATAREADY" in replicated storage when loads the first profile successfully (only one time)
local function WaitForProfile(player)
local profile = DataManager.Profiles[player]
while not profile do
task.wait()
profile = DataManager.Profiles[player]
end
return profile
end
i didn't watch the video yet, but something i've been confused about since i heard about profile store around a month or 2 ago, how is it any different from profile service?
hopefully the video answered that question for you, it's one of the first things I talk about
Hey, where would I add a player kill function to record player kills?
function onPlayerKilled(player)
local playerLeaderstats = player.leaderstats
playerLeaderstats.Kills.Value = playerLeaderstats.Kills.Value + 1
end
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid").Died:Connect(function()
onPlayerKilled(player)
end)
end)
end)
something like this?
I tried just putting that function in a script and it works great, but profilestore does not save the kill data like it does the gems and gold in the video. I also followed exactly what to do in the video for adding a new value to save.
@@matthewrichard5126 You Have to do it Like this
function onPlayerKilled(Profile,player)
local playerLeaderstats = player.leaderstats
Profile.Data.Kills += 1
playerLeaderstats.Kills.Value = playerLeaderstats.Kills.Value + 1
end
Try making a function in DataManager that logs a player kill, using the same format as gold or gems function, but for TotalKills. Then use the DataManager to set profile.Data.TotalKills += 1, and update the leaderstats there as well
@ I tried both of these. The kills do not save. I copied all the steps in the process of adding a new stat to save
function DataManager.AddKills(player: Player, amount: number)
local profile = DataManager.Profiles[player]
if not profile then return end
profile.Data.Kills += amount
player.leaderstats.Kills.Value = profile.Data.Kills
ReplicatedStorage.UpdateKills:FireClient(player, profile.Data.Kills)
end
Brand new? It's been around for a while
For all intents and purposes it's brand new. especially compared to ProfileService which is 5 years old
@@Rileybytes Oh shit I read the title wrong lol. Thought it said "ProfileService" lmao
@ makes sense they're very similar lol
Looks very promising! But yeah, no, not a must at all.
only a must if you want to save time, to each their own. thanks for commenting!
why doesnt my data save
@@Infoboi664 if you’re having problems please join my discord server and send your errors! I can take a look there and help you directly
this guy only has 1.49k subs at the time of posting this?
Yep! Hopefully more people will find my tutorials helpful and subscribe!
Is there a way to add data to people when theyre not in the game?
@radioactive5053 yes there are a couple of methods! They use ProfileStores advanced Messaging system. It’s something i’m going to make another tutorial on, since it’s pretty in-depth.
The tutorial will cover player trading and gifting, even when players aren’t online
@@Rileybytes sounds great!
make the screen a bit bigger please
Will do, I forgot to zoom in during the coding so apologies if it's small. It'll be fixed going forwards!
is it better than replica?
Replica and ProfileStore are used for 2 different things, so I wouldn't say it's better or worse. ProfileStore saves data easily, and Replica just transfers data between server and client, not saves it. Replica is very useful for things like Tycoons
Hey don’t use data store service use data store service Ina module script!
Rileybytes face reveal????
the official statement is: no
40 second ago is wild💀💀
fastest comment i've ever seen no joke
Lapis or ProfileStore?
@@seryogagems7772 I prefer ProfileStore
i dont think its new is it
@NotPensive for all intents and purposes it is. ProfileService came out nearly 5 years ago, its successor was 4 months
same
dude, why do u upload this as i finish the backend of my datastore system...
how did you comment so fast 💀bad timing tho rippp
@@Rileybytesbecause I’m subbed with notifications 😂
@NotRynch legend bro tysm
just make own system without bloatware lol
pRAISE jESUS!
No.
@@Runtem ah
Why does this comment have so many like?
1 like 😥
2 likes 😭
tutorial is lacking one thing that is useful asf, R E P L I C A.
that would need to be its own tutorial! replica is great
@Rileybytes I prefer totally not creating any instances in player (excluding leaderstats) and just use replica to get data on client
Rileybytes face reveal????
my official answer is no