Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

Application.persistentDataPath

Declaration

public static string persistentDataPath;

Описание

Содержит путь к каталогу постоянных данных (только для чтения).

Это значение представляет собой путь к каталогу, в котором можно хранить данные, которые нужно сохранить между запусками. При публикации на iOS и Android, persistentDataPath указывает на общедоступный каталог на устройстве. Файлы могут быть удалены только самим пользователем, но не обновлениями приложения. Примечание: Различные косые черты указывают на разные операционные системы в соответствии с Path.DirectorySeparatorChar.

При сборке приложения Unity генерируется GUID, основанный на идентификаторе пакета. Этот GUID является частью persistentDataPath. Если в будущих версиях сохранить один и тот же идентификатор пакета, приложение будет получать доступ к одному и тому же расположению при каждом обновлении.

UWP приложения: Application.persistentDataPath пункты к C:\Users\<user>\AppData\LocalLow\<company name>.

Windows Редактор и Windows Игрок: Application.persistentDataPath обычно указывает на %userprofile%\AppData\LocalLow\<companyname>\<productname>. Решается путем SHGetKnownFolderPath с FOLDERID_LocalAppDataLow, или SHGetFolderPathW с CSIDL_LOCAL_APPDATA, если первый не доступен.

Веб: Application.persistentDataPath указывает на местоположение в файловой системе браузера IndexedDB. Путь формируется следующим образом: /idbfs/<hash>где <hash> это хэш MD5, генерируемый из URL каталога, содержащего веб-страницу приложения. Имя конкретного файла (например: index.html) и любые параметры запроса URL не изменяют путь постоянных данных.

Linux: Application.persistentDataPath пункты к $XDG_CONFIG_HOME/unity3d/Company/ProjectNameгде $XDG_CONFIG_HOME по умолчанию до ~/.config. Например: ~/.config/unity3d/CompanyName/ProductName.

iOS: Application.persistentDataPath пункты к /var/mobile/Containers/Data/Application/<guid>/Documents.

tvOS: Application.persistentDataPath не поддерживается и возвращает пустую строку.

Android: Application.persistentDataPath пункты к /storage/emulated/<userid>/Android/data/<packagename>/files на большинстве устройств (некоторые старые телефоны могут указывать на местоположение на SD карту, если присутствует), путь разрешается с помощью android.content.Context.getExternalFilesDir.

macOS Редактор: Application.persistentDataPath пункты к ~/Library/Application Support/company name/product name.

macOS Игрок: Application.persistentDataPath пункты к ~/Library/Application Support/unity.company name.product name, но использует путь Редактор, если этот каталог уже существует.

Сохранение файлов в этот путь: Некоторые Unity APIs (например, ScreenCapture.CaptureScreenshot) интерпретировать относительные пути относительно каталога проекта на редакторе Windows и других немобильных платформах, а не относительно persistentDataPath. Поэтому скриншоты или другие файлы, сохраненные с относительным путем, оказываются в папке проекта, а не в AppData/LocalLow на Windows. Чтобы сохранить файлы в постоянный путь данных, передайте полный путь: System.IO.Path.Combine(Application.persistentDataPath, "filename.png").

using UnityEngine;

public class Info : MonoBehaviour { void Start() { Debug.Log(Application.persistentDataPath); } }