![見出し画像](https://assets.st-note.com/production/uploads/images/67018614/rectangle_large_type_2_440d2afbeb9d2d678ab015eaded739e0.png?width=1200)
新規プロジェクト作成で Failed to resolve project template: Failed to decompress が出る問題
問題点
Windows10 環境で、Unity-Hub から新規でプロジェクトを作成した際に以下のようなエラーのダイアログがでることがある。
Failed to resolve project template: Failed to decompress
解決方法1
新規作成する際のパス名の長さを75文字以下にすると解決する。
追記:結局現状これしか解決方法がないようです。「Unity-Hubでプロジェクトを新規作成するときだけ」短い名前で作成して、その後長い名前に変更するというのはうまく動作します。
例えば新規プロジェクト作成時は毎回 Test 等の短い名前で作成してしまい、その後きちんとした名前に変更して運用する、という感じです。
解決方法2
追記:結局この方法はPCを再起動するとダメでした。レジストリは変更維持されているにも関わらず元のダメな状態に戻ってしまうので原因がわかっていません。
Power Shellを管理者権限で開き、以下のコマンドを実行する。
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
Unity-Hubが起動中の場合は一旦終了。再度起動する。
新規プロジェクトを長いパス名で作成できるようになる。
原因
追記:以下も原因の一旦だとは思いますが、どうもこれだけではないような感じです。多分Unity-Hubの新規プロジェクト作成時だけ、なんらかの問題があるような気もします。
根本原因はWindows 10。一応以下に参考情報を記載。
Windows には元々パスの長さが約255文字までという上限があった。Windows10 1607 でこの制限がなくせるように対応。ただしデフォルトでは相変わらず制限された状態。
※とはいえ問題が起きない75文字以下という数字がどこからきているかは不明。これはUnity-Hubの内部都合由来な気もする。
この制限を外すにはレジストリを1つ追加(既にあれば書き換え)する必要あり。レジストリエディタでもできるが、PowerShellから前述のコマンドを切り貼りして実行する方が簡単。
ただしこの長いパス名を扱うにはアプリ側の対応も必要らしく、全てのWindowsアプリで使えるようになるわけではない。
Unity は対応してるらしく使えるようになる。
参考リンク
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell