The path to the save directory includes the title ID of the application. For example, an application with a title ID of
0x00050000_1F700500 would have a common save directory like the following.
To support the creation of save data on external storage devices (such as USB hard drives), the Wii U uses a different path depending on where the save data is built on the device.
However, the application does not need to track of device differences when creating save data. The SAVE library provides the application with an abstract version of this device-dependent path.
The application's save directory always uses the following root directory.
The SAVE library automatically assigns the physical location of the save data to this path.
/vol/save/path until the application completes the creation of the save directory using
By default, the save directory is located on the Wii U's internal Flash storage (NAND). If the user has attached an external USB storage device, save data is handled as follows.
When using CAT-DEV, the physical location of a save directory vary by how the application that creates the save directory starts up.
When you use
caferun to run an application that uses USB storage, by default the USB storage is not detected and confirmed. When using USB storage, be sure to run System Config Tool and set the Find USB setting in the Test menu to
TRUE. When set to
SAVEInit function blocks execution until the USB storage device is found (or times out). Note that if a USB storage device is not connected and Find USB is set to
SAVEInit blocks execution for a few dozen seconds until it times out.
The default setting for Find USB is
FALSE. If you run the application with
caferun while this setting is
FALSE, the application does not attempt to find any USB storage devices. If you know that USB storage will not be used, you can stop
SAVEInit from blocking execution by changing this setting to
If the application is started from the Wii U Menu or the System Config Tool launcher, the menu detects and confirms the USB storage it uses before starting the application, regardless of the Find USB setting. The
SAVEInit specification does not apply.
The SAVE library supports external USB storage.
Data saved to USB storage is protected by the Wii U file system. All files and directories on the USB storage device are automatically encrypted. Only the Wii U system that formatted the USB storage device can use the data on that device. Other Wii U systems and PCs see the USB storage device as an unformatted device and cannot read any information saved to the device, including names, content, and the numbers of files and directories. If the binary data on the USB device is forcibly changed, the Wii U file system detects that the data was altered and returns a corrupted data error.
However, you can create a dead copy of the USB storage device using a well-known PC tool. This method enables you to copy all of the content of the USB storage device to a different USB storage device. Because the data on the USB storage device has not changed, the Wii U file system is unable to differentiate between the dead copy and the original USB device. Game applications must provide a way of dealing with the possibility that save data could be copied.
To efficiently and fully use storage capacity, an application must tell the system to reserve the maximum amount of space (the quota) that can be used for save data.
An application can reserve this space by specifying the maximum space used for save data in the
meta.xml file for that application.
The space is allocated by the quota mechanism of the file system.
The common (
/vol/save/common/) save directory and the account (
/vol/save/ <persistent ID>/) save directories are all mapped to the quota.
To specify the quota size for common and account directories in
meta.xml, see the Application Configuration Guide.
To estimate the maximum space required for save data, see the Worksheet for Calculating Quota Size.
For more information, see the SAVE Programming Guide.
SAVEInitfunction in the application.
SAVEInitfunction only needs to be called once during an application's lifetime. However, it is safe to call multiple times.
SAVEInit. If the storage device (such as a USB device) cannot be used yet,
SAVEInitblocks execution until the device is usable.
SAVEInitSaveDirto create account-specific save directories or a common save directory for all accounts.
FSfunction for file read and write operations. For more information, see FS Overview.
SAVEShutdownwhen shutting down the application.
For more information about the file system, see System Devices, File Systems, and Volumes.
You can view time stamps for the save directory under System Config Tool: Data Manager.
2014/04/24 Updated restrictions about save quota size.
2013/08/06 Added a section on time stamps for the save directory.
2013/05/08 Automated cleanup pass.
2013/03/06 Cleaned up content.
2011/03/29 Initial version.