Skip to content

Concepts ​

PlayerState persists data with ProfileStore, replicates a filtered view to clients with Replica, and separates per-player versus server-wide and temporary versus saved concerns. You do not need a new mental model for ordinary fields: top-level profile keys still behave as replicated, saved player data.

Start here for how visibility works: Data visibility model — one table for normal data, session, SharedSession, and Server / ServerOnlyRoots.

Choose a guide ​

TopicWhen to read
Data visibilityPick the right bucket before you design DefaultData or config.
Session dataPer-player state that syncs but never saves (e.g. session.*).
Shared sessionOne table for all clients on this server, not saved.
Server-only player dataSaves per player but never goes to the client Replica.
Legacy data migrationImport old DataStore rows during profile load (opt-in).
ExamplesCommon patterns and copy-paste flows.
Advanced patternsDeeper integration ideas.
Best practicesConventions and pitfalls.

After you know what you are building, use the API overview, server and client references, and types. What's new summarizes recent and highlighted capabilities.

PlayerState - High-Performance Roblox Data Management