{"id":"d2660251-0a00-463f-9001-7f96acd7d160","task":"Resolve cloud save conflicts in Unity Gaming Services Cloud Save on session start","domain":"unity-cloud-save","steps":["Initialise Unity Gaming Services and authenticate the player via Unity Authentication (anonymous or platform sign-in)","On session start, call CloudSaveService.Instance.Data.Player.LoadAsync with the relevant save keys to fetch the latest server-side values","Compare the server-side save timestamp or version field (stored as a custom field in the save payload) against the local cached value","If the server version is newer, overwrite local state; if local is newer (e.g. after offline play), call CloudSaveService.Instance.Data.Player.SaveAsync to push local data before proceeding","For true conflicts (both modified since last sync), present a player-facing UI to choose which version to keep, then save the chosen version back to the cloud"],"gotchas":["Unity Cloud Save does not provide built-in last-write-wins conflict resolution; you must implement version tracking within the save payload itself using a timestamp or monotonic counter","SaveAsync overwrites the entire key value with no server-side merge; partial updates require reading, merging in memory, and writing the full value back — this introduces a read-modify-write race condition under concurrent sessions","Cloud Save keys are limited in size; store large binary blobs (e.g. screenshots, replay data) in a separate storage service and keep only lightweight progress data in Cloud Save"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/d2660251-0a00-463f-9001-7f96acd7d160"}