Unity

Unityで取得できるパス一覧

More than 1 year has passed since last update.

UnityよりScriptからファイルの保存や取り出しなどを行うときパスを取得することがよくあります。
パスがどこを表していてどのBuild設定の時には使えるのかなど苦手なのでメモ
●●はUnity Build時の名前です。

※記述ミス等ありましたらコメントか編集リクエストをお願いします。

Application.dataPath

Code:Application.dataPath
ゲームデータのフォルダパスを返す

動作環境 パス フォルダ設定 備考
Unity Editor ./Assets Read and Write
Mac ./Contents Read and Write
iOS ./●●.app/Data ReadOnly
Win player ./●●_Data Read and Write
Linux player ./●●_Data Read and Write 大文字,小文字の区別有り
Web Player プレイヤーデータフォルダの絶対URL Read and White
WebGL 再生プレイヤーのデータがあるフォルダの絶対URL Read and Write
Android .apkのパス Read and Write 例外としてBuild時に分割バイナリを実行する場合.apkではなく.obb

主にUnityのAssets以下のファイルを読み取る時に使用しています。
ほとんどのフォルダパスの最後が/で閉じられていないのに注意。

Application.streamingAssetsPath

Code:Application.streamingAssetsPath
StreamingAssetsフォルダーへのパスが含まれています

動作環境 パス フォルダ設定 備考
Unity Editor ./Assets/StreamingAssets ReadOnly
Mac ? Readonly
iOS ./Data/Raw Readonly
Win player ./●●_Data/StreamingAssets Readonly
Linux player ./●●_Data/StreamingAssets Readonly
Web Player ? Readonly
WebGL ? Readonly
Android ? ReadOnly

UnityプロジェクトのAssetsフォルダ内にStreamingAssetsフォルダを追加している場合、ビルド時にパスがそれぞれの動作環境ごとにコピーされそのパスを取得することができる。
いくつかのプラットフォームではWeb上でファイルにアクセスできなかったり、Androidでは.apkファイルの中に圧縮されていたりしてアクセスすることができないがWWWクラス1を使用して通信することによって取得できる。
ほとんどのフォルダパスの最後が/で閉じられていないのに注意。

Application.temporaryCachePath

Code:Application.temporaryCachePath
一時的なデータ、キャッシュのディレクトリパスを返します

動作環境 パス フォルダ設定 備考
Unity Editor ? Read and White
Mac ? ?
iOS /var/mobile/Containers/Data/Application/(app)/Library/Caches Read and Write
Win player ? ?
Linux player ? ?
Web Player ? ?
WebGL ? ?
Android ? ?

iOSで実機ビルド時はCaches(データを保存できる一時的なディレクトリ)のパスです。
iOSではデータの一時保存など行う時こちらを使用します。
一時的なフォルダなので永久的に残るものではなく容量次第で自動的に削除されたりするので、実装時はデータは存在しない前提で考えます。

Application.persistentDataPath

Code:Application.persistentDataPath
永続的なデータディレクトリのパスを返します

動作環境 パス フォルダ設定 備考
Unity Editor ? Read and White
Mac ? ?
iOS ./Documents Read and Write
Win player ? ?
Linux player ? ?
Web Player ? ?
WebGL ? ?
Android ? ?

iOSで実機ビルド時はDocuments(アプリケーションが実行されている間データを維持して保存することが予想されるディレクトリ)のパスです。
アプリケーションの更新ごとにファイルが削除されることはないがユーザーの操作などによりデータが消えてしまうことがあるので注意。(AndroidではSDカードを削除すると保存していたデータにアクセスすることはできなくなる)

Application.absoluteURL

Code:Application.absoluteURL
Web Playerファイルの絶対パス

動作環境 パス フォルダ設定 備考
Unity Editor
Mac
iOS
Win player
Linux player
Web Player Web Playerファイルの絶対パス ?
WebGL ? ?
Android

実行時にパスが正しいかどうかを判別することでデータファイルの著作権侵害から守るために使用されたりするらしい。

Application.srcValue

Code:Application.srcValue
WebPlayerゲームデータのHTMLからの相対的なパスを返します

動作環境 パス フォルダ設定 備考
Unity Editor
Mac
iOS
Win player
Linux player
Web Player Web Playerファイルの絶対パス ?
WebGL ? ?
Android

実行時にパスが正しいかどうかを判別することでデータファイルの著作権侵害から守るために使用されたりするらしい。



  1. WWWクラスはUnityの通信用のクラス。詳細:UnityのWWWで通信処理