Save files & backups

D2R Mobile stores offline characters, shared stash files, and custom mod data in a dedicated save folder on iOS and macOS. This guide provides exact filesystem paths, manual transfer steps between devices, iCloud signing requirements, and rules to prevent save deletion during 7-day sideload renewals.

Save Architecture & Filesystem Paths

D2R Mobile operates completely offline and organizes character states, settings, and progression inside a dedicated save directory.

iOS and iPadOS

On mobile devices, save files reside inside the application container: - Files App Location: On My iPhone (or On My iPad) > D2R Mobile > save - Internal Sandbox Path: Documents/save (referenced via runtime environment variable DM_SAVE)

macOS (Apple Silicon)

On macOS desktop builds, saves are isolated in the user library: - Default Build (macOS 26+): ~/Library/Application Support/D2R Mobile/save - Older-API Build (macOS 15–25, D2R Mobile M3.app): ~/Library/Application Support/D2R Mobile M3/save

The save directory contains one subfolder per character (named after the character), shared stash binary files (.d2i), and a Settings folder containing configuration and interface language preferences. In addition, D2R Mobile stores data for custom features—including extra personal stash pages, the pouch, rift progression, and the chronicle vault—directly within this directory. Because of these additional structures, seamless two-way compatibility with unmodified PC offline installations is not guaranteed.

Manual Save Transfer Workflow

When migrating progress between an iPhone/iPad and a Mac, always transfer the entire save directory as a unified unit:

  1. Terminate the Game Completely: Force-close the app on iOS via the App Switcher, or quit with Command-Q on macOS. Never touch save files while the process is running.
  2. Back Up Destination Directory: Before copying, navigate to the target location and rename the existing save folder (e.g. save backup).
  3. Copy the Entire Folder: Transfer the complete save folder via AirDrop, Finder USB file sharing, or local network. Do not selectively move individual character files.
  4. Verify Hierarchy: Ensure the destination layout sits directly at .../D2R Mobile/save/ (or .../D2R Mobile M3/save/). Confirm that you have not created an unintended nested directory such as save/save/.
  5. Ignore Ephemeral Files: Directories named save.work or save.new are transient scratch locations that the host cleans and rebuilds on startup.

iCloud Entitlement Requirements

The upstream codebase contains native iCloud synchronisation routines (cloud_ios.m), but this mechanism functions only if the installed application bundle holds a valid Apple iCloud entitlement (iCloud.<bundle ID>).

A local build does not gain iCloud access merely by compiling successfully. It needs a suitable account and valid container entitlements; free personal Apple ID provisioning through tools such as Sideloadly or AltStore does not provide them. Upon launch, the host logs an alert that iCloud is unavailable and falls back strictly to local sandbox storage. Cloud sync cannot be activated on free self-signed builds.

Preventing Data Loss During 7-Day Re-Signing

Free Apple developer certificates expire after 7 days, requiring the IPA to be re-signed and reinstalled:

  • Do not uninstall the app: Choosing Delete App removes its local sandbox and saves. Remove from Home Screen only hides its icon and is not the same operation. Never use uninstalling as a routine signing fix.
  • Keep the app identity: Refresh or install over the current app using the same identity and signing route. An ordinary in-place update should preserve Documents, but changes in bundle ID or provisioning need care and are not a backup strategy.
  • Pre-Update Backup: Prior to any re-signing operation, open the Apple Files app and copy the save folder to iCloud Drive or an external backup folder.

Frequently Asked Questions

Can I freely transfer saves between PC and D2R Mobile?

No full two-way compatibility is guaranteed. D2R Mobile includes custom feature data (extra personal stash pages, pouch, rift records, and chronicle data) inside the save directory. You should treat save migration as an entire save folder transfer between D2R Mobile instances on iOS and Mac rather than mixing files with PC.

Why does iCloud save sync not work on my sideloaded app?

The upstream sync implementation requires the official iCloud container entitlement (iCloud.<bundle ID>). Free personal Apple ID provisioning cannot supply this entitlement. A locally compiled app also needs an eligible developer account and correctly configured container entitlements. The game detects this at launch, logs that iCloud is unavailable, and runs strictly in local save mode.

Will renewing my 7-day sideload certificate delete my progress?

An in-place update with the same app identity is intended to preserve data, but signing or identifier changes can affect that. Deleting the app removes its sandbox; merely choosing Remove from Home Screen is a different action. Always make a manual backup copy of your save folder before re-signing.