Contains the path to a persistent data directory (Read-only).
This value is a directory path where you can store data that you want to retain between runs. When you publish on iOS and Android, persistentDataPath
points to a public directory on the device. The files can only be erased by users directly and not by any app updates.
Note: The difference slashes indicate the different operating systems according to Path.DirectorySeparatorChar.
When you build the Unity application, a GUID is generated that is based on the Bundle Identifier. This GUID is part of persistentDataPath
. If you keep the same Bundle Identifier in future versions, the application keeps accessing the same location on every update.
UWP Apps: Application.persistentDataPath points to C:\Users\<user>\AppData\LocalLow\<company name>
.
Windows Editor and Windows Player: Application.persistentDataPath usually points to %userprofile%\AppData\LocalLow\<companyname>\<productname>
. It is resolved by SHGetKnownFolderPath with FOLDERID_LocalAppDataLow, or SHGetFolderPathW with CSIDL_LOCAL_APPDATA if the former is not available.
WebGL: Application.persistentDataPath points to /idbfs/<md5 hash of data path>
where the data path is the URL stripped of everything including and after the last '/' before any '?' components.
Linux: Application.persistentDataPath points to $XDG_CONFIG_HOME/unity3d
or $HOME/.config/unity3d
.
iOS: Application.persistentDataPath points to /var/mobile/Containers/Data/Application/<guid>/Documents
.
tvOS: Application.persistentDataPath is not supported and returns an empty string.
Android: Application.persistentDataPath points to /storage/emulated/<userid>/Android/data/<packagename>/files
on most devices (some older phones might point to location on SD card if present), the path is resolved using android.content.Context.getExternalFilesDir.
Mac: Application.persistentDataPath points to the user Library folder (This folder
is often hidden). In recent Unity releases, user data is written into ~/Library/Application Support/company name/product name
. Older versions of Unity wrote into the
~/Library/Caches
folder, or ~/Library/Application Support/unity.company name.product name
.
These folders are all searched for by Unity. The application finds and uses the oldest folder with the required data on your system.
using UnityEngine;
public class Info : MonoBehaviour { void Start() { Debug.Log(Application.persistentDataPath); } }