So I made this really simple script that uses datastore to load a table (or create a new one if there isn't one to load) for a player when they join & then save it when they leave, I just wanted to know if am on the right track with it.
local DSS = game:GetService("DataStoreService")
local PltngConfig = DSS:GetDataStore("PlatingConfig")
game.Players.PlayerAdded:connect(function(player)
PlatingConfig = PltngConfig:GetAsync(player.userid) or {}
end)
game.Players.PlayerRemoving:connect(function(player)
PltngConfig:SetAsync(player.userid, PlatingConfig)
end)

3 comments
It is meant to be that if the GetAsync returns nil (because the player doesn't have any saved data) then it makes a new table
Oh then your on track
I edited the answer.