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 visibility: Data visibility model — normal data, session, SharedSession, and Server / ServerOnlyRoots.

Guides hub

Task-based shortcuts (install, hide data from clients, migration, listeners, and more) live on the Guides hub.

Lifecycle at a glance

PhaseSignal / API
Profile ready after joinProfileLoaded
Manual save during playSaveData()BeforeSave
Player leave / shutdownBeforeReleaseBeforeSave → save → ProfileUnloaded

BeforeRelease does not run on SaveData() alone. Details: Server events.

After concepts

PlayerState - High-Performance Roblox Data Management