Obtain the Player Data Storage interface handle via EOS_Platform_GetPlayerDataStorageInterface after initializing the EOS platform.
To write a file, call EOS_PlayerDataStorage_WriteFile with a file name, the local data buffer, and transfer callbacks (EOS_PlayerDataStorage_OnWriteFileDataCallback) that supply data in chunks.
To read a file, call EOS_PlayerDataStorage_ReadFile with the file name and read callbacks (EOS_PlayerDataStorage_OnReadFileDataCallback) that receive data chunks and assemble the full payload.
Query available files for a player using EOS_PlayerDataStorage_QueryFileList and EOS_PlayerDataStorage_CopyFileMetadataAtIndex to enumerate file names and sizes before reading.
Delete files when no longer needed via EOS_PlayerDataStorage_DeleteFile to stay within storage quotas.
Handle EOS_NotFound result codes gracefully (e.g., first-time players will have no save files); initialize defaults in that case rather than treating it as a hard error.
Known gotchas
Player Data Storage files are tied to the authenticated EOS product user ID; data written under one account is not accessible to another, even on the same device.
File transfer callbacks operate on chunks; the final chunk is signaled by a specific continuation token value — do not assume transfer is complete until the completion callback fires.
Storage has per-user file count and total size limits defined by Epic; design save schemas to consolidate data into fewer, larger files rather than many small ones.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp