← ClaudeAtlas

roblox-datastore-persistencelisted

Saving player data in Roblox without losing or duplicating it - UpdateAsync versus SetAsync, session locking, request budgets and throttling, retries with backoff, schema versioning and migration, MemoryStoreService for cross-server state, and BindToClose. Use when building or fixing persistence, when players report lost progress, or when investigating item duplication.
ibrohim1234567881717/game-dev-ai-skills · ★ 0 · Data & Documents · score 71
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Roblox DataStore Persistence ## Purpose Two failure modes dominate Roblox persistence, and both are data-layer bugs rather than gameplay bugs: - **Lost progress** — the server shut down before the save completed, or a failed request was never retried. - **Item duplication** — the same record was read by two servers, both modified their copy, and both wrote it back. Duplication in particular is almost never a flaw in the shop code. It is non-atomic read-modify-write on the data store. Fixing the shop will not fix it. ## When to use - Building player data persistence. - Players report lost progress, rollbacks, or reset inventories. - Investigating item or currency duplication. - Adding a field to already-shipped player data. - Sharing state across servers — trading, global leaderboards, matchmaking. ## When NOT to use - Designing the save format itself. Use `save-systems` for what to persist, versioning and migration; this skill is Roblox's storage semantics. - Purchases. Use `roblox-monetization`, where `ProcessReceipt` and exactly-once granting dominate. - Auditing the remote boundary. Use `roblox-security`. ## Required context | Fact | Why it matters | Where to find it | |---|---|---| | Rojo project or Studio-only | Decides whether file edits are usable | `default.project.json` | | Whether the game has shipped | Shipped data can only be migrated, never reshaped | Release history | | Current save shape and whether it is versioned | Migration is impossible