本日は Unity のエラー対処枠です。
PackageManagerでtgzファイルを指定した際にエラーが発生する場合の対処を記事にします。
前提条件
以下の記事で紹介した、PackageManager で tgz ファイルを指定したときの発生事象です。
bluebirdofoz.hatenablog.com
発生事象
PackageManager でパッケージファイル(tgz)を指定してインポートを行います。
このとき、パッケージファイルによっては以下のようなファイルパスエラーが発生して、インポートに失敗することがありました。
[Package Manager Window] Unable to add package [file:UnityTechnologies/com.unity.xr.windowsmr-4.6.3.tgz]: The file [C:\Users\dezi_\AppData\Local\Temp\.tmp15964iz7S0mZd2ylu\package.json] cannot be found UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()
原因
tgz ファイル作成時に package フォルダをトップフォルダに指定して圧縮していなかった場合、本事象が発生するようです。
例えば以下のように PackageCache フォルダから取得したままのフォルダ名で tar ファイルを作成した場合、事象が再現しました。
tar -czvf com.unity.xr.windowsmr-4.6.3.tgz com.unity.xr.windowsmr@4.6.3
また以下のように .(カレントディレクトリ) を含めたファイルパスで tar ファイルを作成した場合も同様にエラーが発生します。
tar -czvf com.unity.xr.windowsmr-4.6.3.tgz .¥package