序文
Unity の下には、Application.dataPath、Application.streamingAssetsPath、Application.persistentDataPath、Application.temporaryCachePath などのパスがあります。多くの場合、これらのパスを読み書きしたり、ディレクトリに移動してどのようなファイルが存在するかを確認する必要があります。したがって、以下では主に、読み取りおよび書き込み権限とパスからこれらのパス名を分析します。
権限
道 | 平均 | 読み取りおよび書き込み権限 | バッグの中にありますか |
---|---|---|---|
アプリケーション.データパス | アセットディレクトリ | 読み取り専用 | はい |
Application.streamingAssetsPath | アセット/フローリソースディレクトリ | 読み取り専用 | はい |
Application.persistentDataPath | 永続的なディレクトリ | 読み書き可能 | いいえ |
Application.temporaryCachePath | 一時キャッシュディレクトリ | 読み取り専用 | いいえ |
分析する
Application.persistentDataPath のみが読み取りおよび書き込み可能な機能を備えているという事実に基づいて、通常、物事の保存やホット アップデート ファイルのダウンロードはこのディレクトリに配置されます。
通常、いくつかのリソース ファイルを最初に Application.streamingAssetsPath に配置し、インストール後にそれらを Application.persistentDataPath にコピーしますが、Application.persistentDataPath に直接配置してみてはいかがでしょうか。
Application.persistentDataPath のパスはパッケージには含まれておらず、インストール後にのみ存在するため、これを行う必要があります。
各プラットフォーム下の通路
ウィンドウズ
道 | パス形式 | パス解決 | パスの例 |
---|---|---|---|
アプリケーション.データパス | <プロジェクトフォルダーへのパス>/Assets | プロジェクトのアセットディレクトリ | F:/Learn/TurnBaseDemo/アセット |
Application.streamingAssetsPath | エディターの下: <プロジェクト フォルダーへのパス>/Assets/StreamingAssets PC パッケージ: {プロジェクト出力パス}/{ProductName_Data/StreamingAssets} | プロジェクトのアセット/ストリーミングアセット 注: エディターは PC パッケージとは異なります | F:/Learn/TurnBaseDemo/Assets/StreamingAssets |
Application.persistentDataPath | %userprofile%\AppData\LocalLow\<会社名>\<製品名> | %userprofile% は通常、C:/Users/PC、companyname=会社名、productname=製品名と同じです。 | C:/ユーザー/PC/AppData/LocalLow/super41/TurnBaseDemo |
Application.temporaryCachePath | %userprofile%\AppData\Local\Temp<会社名><製品名> | 同上 | C:/ユーザー/PC/AppData/ローカル/Temp/super41/TurnBaseDemo |
アンドロイド
道 | パス形式 | パス解決 |
---|---|---|
アプリケーション.データパス | /data/app/<パッケージ名>-xxxxxx==/base.apk | ジッパーの内側に |
Application.streamingAssetsPath | jar:file:///data/app/<パッケージ名>-xxxxxx==/base.apk !/assets | UnityWebRequest または www を使用して、このディレクトリ内のリソースにアクセスします |
Application.persistentDataPath | /storage/emulated/0/Android/data/<パッケージ名>/files | packagename = パッケージ名 |
Application.temporaryCachePath | /storage/emulated/0/Android/data/<パッケージ名>/cache | 同上 |
分析する
通常、ファイル マネージャーまたは adb コマンドを使用して、対応するパスを入力し、ファイルが存在するかどうかを確認します。ここでより意味のあるパスは、Application.persistentDataPath と Application.temporaryCachePath です。これら 2 つのパスはチェックイン可能であり、
他の 2 つのパスは通常、root 権限がなければアクセスできず、アクセスする必要もありません。ベースのアクセス。
IOS
道 | パス形式 | パス解決 |
---|---|---|
アプリケーション.データパス | /var/containers/バンドル/アプリケーション/アプリサンドボックス/xxx.app/Data | アプリサンドボックスはアプリケーションサンドボックスを指します |
Application.streamingAssetsPath | /var/containers/バンドル/アプリケーション/アプリサンドボックス/xxx.app/Data/Raw | 同上 |
Application.persistentDataPath | /var/mobile/Containers/データ/アプリケーション/アプリサンドボックス/ドキュメント | 同上 |
Application.temporaryCachePath | /var/mobile/Containers/データ/アプリケーション/アプリサンドボックス/ライブラリ/キャッシュ | 同上 |