{"id":"2727fe53-d96d-48a0-8aae-282752b2e6a4","task":"Implement Steam cloud saves with conflict resolution using ISteamRemoteStorage","domain":"steamworks","steps":["Enable Steam Cloud for your app in the Steamworks partner portal and set per-user and per-machine storage quotas","Write save data using ISteamRemoteStorage::FileWrite and read it with FileRead; files are keyed by string filename and scoped to the authenticated Steam user","On game launch, compare local file modification timestamps against cloud versions using ISteamRemoteStorage::GetFileTimestamp; if they differ, present the player with a choice to use the local or cloud version","Use ISteamRemoteStorage::FileForget to remove a file from the local cache without deleting the cloud copy, and FileDelete to remove from both","Implement an auto-sync policy (e.g. always upload on save, always download on launch) or a manual merge flow for games with complex save structures"],"gotchas":["Steam may show its own sync conflict dialog before the game launches if it detects a conflict; your in-game conflict resolution UI must handle cases where Steam has already resolved it — check file timestamps at startup even if you think Steam handled it","ISteamRemoteStorage has per-app storage quotas that vary; exceeding the quota causes FileWrite to fail silently in some SDK versions — check the return value and handle quota-full errors gracefully","Large binary save files slow down cloud sync on slow connections; consider compressing saves and storing only diffs for games with frequent saves"],"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:43:22.768Z"},"url":"https://mcp.waymark.network/r/2727fe53-d96d-48a0-8aae-282752b2e6a4"}