Skip to content

PlayerStateType-safe player data for Roblox

ProfileStore persistence, Replica sync, path-based access, and a server-authoritative model built for serious games.

Created by bellaouzo β€” Powerful player data tooling that pairs ProfileStore with Replica replication.

Use a Server root and ServerOnlyRoots when data should persist but never reach any client Replica. Server-only player data Β· Data visibility model

Performance ​

Get: 2.2M/secSet: 478K/secGetPath: 2.1M/secSetPath: 488K/sec

Quick Start ​

On the server, connect PlayerState.Init to PlayerAdded. After that, use Set / Get on the server and Get / OnChanged on the client.

lua
local PlayerState = require(ReplicatedStorage.Libraries.PlayerState.PlayerStateServer)

game.Players.PlayerAdded:Connect(function(player)
    PlayerState.Init(player)
    PlayerState.Set(player, "Coins", 1000)
end)
lua
local PlayerState = require(ReplicatedStorage.Libraries.PlayerState.PlayerStateClient)

local coins = PlayerState.Get("Coins")

PlayerState.OnChanged("Coins", function(newValue, oldValue)
    print("Coins updated:", newValue)
end)

Ready to go

The Roblox model ships with dependencies β€” download it from Get Model in the nav when you are ready to integrate.

Getting started ​

  1. Concepts β€” How persistence, replication, and scopes fit together
  2. Installation β€” Add the module to your project
  3. Setup β€” Initialize server and client and define DefaultData
  4. Configuration β€” Tune PlayerStateConfig, performance, and leaderboards
  5. API Reference β€” Complete function documentation
  6. Examples β€” Common usage patterns

Looking for a specific task? Use the β€œI want to…” shortcuts on the Guides hub.

See What's new for migrations, Shared Session, server-only roots, session data, and other highlights.

If you have existing player data, Legacy Data Migration can import from an old DataStore during profile load (opt-in).

Optional support β€” This documentation is free. You do not need to pay anything to use PlayerState or these docs. If you would like to leave a tip, it is genuinely appreciated, but completely optional and never expected.

In PayPal, use Send and enter joelbriskpro@gmail.com. Open PayPal

PlayerState - High-Performance Roblox Data Management