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的返回值一般是程序所在平台的固定位置,适合程序在运行过程中产生的数据文件。

alt