SummerAuthorityPlayerData · Inherits: RefCounted · Access: Summer.authority.player_data
Authority-written, per-player private game data.
Remembers things about a player between play sessions: progress, unlocks, settings. Each player has two separately written slots for this Game: public, which the player’s own client can read through Summer.client.player_data, and secret, which only the authority reads. Nothing here is visible to other players.
Each slot holds one JSON object of at most 64 KiB. Supported values are [bool], [int] (within ±(2^53 - 1)), finite [float], String, Array and Dictionary with String keys, nested at most 16 containers deep; anything else fails with player_data_unsupported_type before a request is sent. Loaded numbers come back as [int] when integral.
Only the player’s newest Session for this Game can commit. A commit made through an older Session fails with player_data_superseded. Commits remain available after gameplay quiesces for shutdown, until the World’s stop deadline.
Methods
commit_public
data. save_id names this save: resending the same save_id with the same content returns the original revision with SummerPlayerDataCommitOperation.replayed set, while different content fails with player_data_save_id_conflict. One commit per Session and slot may be pending; another fails with operation_in_progress. The Engine never retries; on a retryable failure, commit again with the same save_id.
Returns:
SummerPlayerDataCommitOperation
Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.
commit_secret
data. It follows the same rules as commit_public(), and the player’s client can never read it.
Returns:
SummerPlayerDataCommitOperation
Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.
load
session. A slot that was never written has SummerPlayerDataRecord.exists set to false and an empty SummerPlayerDataRecord.data.
Returns:
SummerPlayerDataLoadOperation
Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.
What is live on the platform today: platform capability status. Check availability at runtime before you offer a feature.

