🦔

【UnityHub】Install failed: Validation Failedの対処法

2024/04/20に公開

概要

  • UnityHub(おそらく3.x.x系 / Windows環境)で、新しいUnityEditorバージョンをインストールしようとしたときに、Install failed: Validation Failedとなってインストールできない場合の対処法

コマンドプロンプトからインストールする方法

  • 参考1
  • 参考2
  • 管理者権限で実行されたコマンドプロンプト(PowerShellではうまくいかなかった)からインストールが可能である。
  • ただ結論としては、一度この方法でインストールした後に、そのEditorバージョンを削除してから、なぜか今度はうまくいくようになったUnityHubからインストールするのがよさそう
  • UnityHubのCLI公式ドキュメント

インストールコマンド

C:\Windows\System32>cd "C:\Program Files\Unity Hub"
  • 現在インストール可能なバージョンの一覧。ここにない
C:\Program Files\Unity Hub>"Unity Hub.exe" -- --headless editors -r
6000.0.0b16
2023.2.19f1
2022.3.25f1
2021.3.37f1
コマンドをうった後にでるwarning的なもの
  • 以下のようにunable to...のようなwarningがでていた
C:\Program Files\Unity Hub>"Unity Hub.exe" -- --headless editors -r
[21948:0420/084022.807:ERROR:cache_util_win.cc(20)] Unable to move the cache: アクセスが拒否されました。 (0x5)
[21948:0420/084022.808:ERROR:disk_cache.cc(205)] Unable to create cache
[21464:0420/084022.964:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is disabled, ANGLE is
6000.0.0b16
2023.2.19f1
2022.3.25f1
2021.3.37f1
  • moduleを指定しつつインストール
C:\Program Files\Unity Hub>"Unity Hub.exe" -- --headless install --version 2022.3.24f1 --module ios --module android --childModules --changeset 9b001d489a5

Adding module android-ndk-r23b as dependency of android-sdk-ndk-tools.
Adding module android-sdk-build-tools-32.0.0 as dependency of android-sdk-ndk-tools.
Adding module android-sdk-platform-tools-32.0.0 as dependency of android-sdk-ndk-tools.
Adding module android-sdk-platforms-31 as dependency of android-sdk-ndk-tools.
Adding module android-sdk-platforms-32 as dependency of android-sdk-ndk-tools.
Adding module android-sdk-command-line-tools-6.0 as dependency of android-sdk-ndk-tools.
Progress:
[Unity 2022.3.24f1] installed successfully.
[iOS Build Support] installed successfully.
[OpenJDK] installed successfully.
[Android SDK Platform Tools] installed successfully.
[Android Build Support] installed successfully.
[Android SDK Build Tools] installed successfully.
[Android SDK & NDK Tools] installed successfully.
[Android SDK Command Line Tools] installed successfully.
[Android SDK Platforms 32] installed successfully.
[Android NDK] installed successfully.
[Android SDK Platforms 31] installed successfully.
All Tasks Completed Successfully.

コマンドからのインストール後

  • Program Filesの中にインストールされている。
  • しかし、UnityHubからは自動で認識されておらず、「Locate」から指定することで認識される。
  • 通常のUnityHub経由でのインストールと異なり、"Add Modules"や"Uninstall"ボタンが表示されていない。
  • まあそれでも良いのだけど、一度バージョンのフォルダごと削除して、再度UnityHubからインストールすることとした。

再度UnityHubからインストールする

  • コマンドプロンプト経由でのインストールを行う前と同じ様に、UnityHubから指定のバージョンをインストールしてみる。
  • 先程と異なり、インストールに成功する。
  • インストール途中に、Windowsのコマンドプロンプトから管理者権限を求めるダイアログが表示された点が、"Validation Failed"となる時と異なっていた。
  • コマンド経由でのインストールを行ったことで何かしらの変化が内部的に起きたのか?
  • (追記)と思ったらまた別の機会のインストールでvalidation failedになった。不思議だ。

(別の方法)古いUnityEditorを利用する方法

  • 参考
  • UnityHubを2.x.x系に下げるとインストールができる。
  • 古いUnityHubはどなたかのこちらのGitHubにおいてあるのを利用させてもらった
    https://github.com/baba-s/Unity-Hub-2.4.5
  • ただしこの古いバージョンのUnityHubを使っていたところ、Androidのビルド時にNDKのpathがなんちゃらみたいなエラーが出てビルドができなかったことがある。新しいUnityEditorの方がよさそうではある。

Discussion