PlayerKit v1.0
Generate, Load & Save Player Data with One Function
PlayerKit v1.0.rbxm (3.7 KB)
Hi everyone!!
I made PlayerKit, a lightweight module that automatically generates player data, loads it from DataStore, and saves it back when the player leaves.
Instead of writing dozens of lines inside Players.PlayerAdded, you only need one function.
Example
local PlayerKit = require(path.To.PlayerSettingGenerator)
Players.PlayerAdded:Connect(function(player)
PlayerKit:SetUpCoreSetting(player)
end)
When the player leaves, simply save their data.
Players.PlayerRemoving:Connect(function(player)
PlayerKit:CallUpSave(player)
end)
Features
Automatic leaderstatsgeneration
Automatic DataStore loading
Automatic DataStore saving
Permanent Inventory generation
Unlimited custom Configuration folders
Easily expandable through config files
Modular design
Included Modules
PlayerSettingGenerator
LeaderstatsConfig
PermanentInventoryConfig
OtherStatusConfig
DataStoreNames
DataSaveManager
How to Use
Leaderstats
Open LeaderstatsConfig.
return {
Coin = {
InstanceType = "IntValue",
Start = 500,
Name = "Coin"
},
Gem = {
InstanceType = "IntValue",
Start = 0,
Name = "Gem"
}
}
Adding a new leaderstat is as simple as adding another entry.
Level = {
InstanceType = "IntValue",
Start = 1,
Name = "Level"
}
No other scripts need to be edited.
Permanent Inventory
Open PermanentInventoryConfig.
return {
Weapons = {
"Sword",
"Bow",
"Hammer"
}
}
PlayerKit automatically creates
PermanentInventoryFolder
āāā Weapons
āāā Sword
āāā Bow
āāā Hammer
Each item is stored as a BoolValue.
Custom Configurations
Need custom player settings?
Open OtherStatusConfig.
return {
GemShop = {
Name = "GemShop",
AddToThis = {
RebirthBoost = {
InstanceType = "IntValue",
Start = 0,
Name = "RebirthBoost"
}
}
}
}
This automatically creates
Player
āāā GemShop
āāā RebirthBoost
You can create as many Configuration folders as you want.
Example:
return {
GemShop = {
Name = "GemShop",
AddToThis = {
RebirthBoost = {
InstanceType = "IntValue",
Start = 0
}
}
},
Settings = {
Name = "Settings",
AddToThis = {
Music = {
InstanceType = "BoolValue",
Start = true
},
SFX = {
InstanceType = "BoolValue",
Start = true
}
}
}
}
DataStore Name
Open DataStoreNames.
return {
CoreData = "CoreDataStore_V2"
}
Simply change the value to whatever DataStore name you want to use.
Saving Data
Saving is just one line.
PlayerKit:CallUpSave(player)
PlayerKit automatically collects:
- Leaderstats
- Permanent Inventory
- Custom Configurations
and sends everything to DataSaveManager.
Why I Made This
Every time I started a new project, I found myself rewriting the same player setup code over and over again.
With PlayerKit, I only need to edit configuration files whenever I add a new stat, inventory item, or custom setting.
This keeps my projects cleaner, easier to maintain, and much faster to set up.
Planned Features
ProfileService support
AutoSave support
More supported value types
Easier configuration system
Performance improvements
Feedback
PlayerKit is still in development.
If you have any suggestions, ideas, or improvements, Iād love to hear them!
Thanks for reading! ![]()