https://docs.unity.cn/cn/2021.1/ScriptReference/Application.html
- dataPath
返回程序的数据文件所在的文件夹路径(只读);该路径为相对路径,该值取决于运行时所基于的平台。
平台 | 路径 |
---|---|
UnityEditor | 项目文件路径/Assets |
Mac | 应用程序路径/Contents |
ios | 应用程序路径/App名字.app/Data(这是一个只读文件夹,使用 Application.persistentDataPath 来保存数据). |
Win/Linux | 可执行文件的数据文件夹(大多数Linux安装都区分大小写) |
WebGL | 播放器数据文件文件夹的绝对 URL(没有实际的数据文件名) |
Android | 通常直接指向 APK。如果在运行拆分的二进制编译版本,则改为指向 OBB。 |
Windows 应用商店应用程序 | 播放器数据文件夹的绝对路径(这是一个只读文件夹,使用 Application.persistentDataPath 来保存数据) |
- StreamingAssetsPath
用于返回数据流的缓存目录,为相对路径,适合设置一些外部数据文件的路径(只读)
无法访问 WebGL 和 Android 平台上的 StreamingAssets 文件夹。在 WebGL 上没有文件访问权。Android 使用压缩的 .apk 文件。这些平台返回 URL。
- PersistentDataPath
(只读路径)返回一个持久化数据存储目录的路径,可以在此路径下存储持久化数据文件,对应同一平台,在不同程序中调用返回值是相同的,但在不同的运行平台下返回值不同。
在 iOS 和 Android 上发布时,persistentDataPath 指向设备上的公共目录。应用程序更新不会擦除此位置中的文件。用户可以直接擦除这些文件。
平台 | 路径 |
---|---|
Windows应用商城 | %userprofile%\AppData\Local\Packages<产品名称>\LocalState. |
Windows编辑器和独立播放器 | %userprofile%\AppData\LocalLow<公司名称><产品名称> 如果前者不可用,则由SHGetKnownFolderPath与FOLDERID_LocalAppDataLow或SHGetFolderPathW与CSIDL_LOCAL_APPDATA解决。 |
ios | /var/mobile/Containers/Data/Application//Documents. |
tvOS | 不支持该路径并返回空值 |
Android | /storage/emulated/0/Android/data//files 在大多数设备上(一些旧的手机可能会指向SD卡上的位置,如果存在),路径解析使用Android.content.context.getexternalfilesdir。 |
Mac | 用户的库文件夹(通常是隐藏的)在最近的Unity版本中,用户数据被写入~/Library/Application Support/company name/product name。旧版本的Unity写入~/Library/caches,或~/Library/Application Support/ Unity .company name.product name。这些文件夹都是由Unity搜索的。应用程序查找并使用系统中包含所需数据的最旧文件夹。 |
- temporaryCachePath
(只读)包含临时数据/缓存目录的路径。
persistentDataPath和temporaryCachePath的返回值一般是程序所在平台的固定位置,适合程序在运行过程中产生的数据文件。