のにっき

【Unity】バージョンアップ時にプロジェクトが開けなくなった

昨日、unityを起動したら急に発生した現象です。

アホみたいなことを繰り返してようやく復旧できたので

対処法をまとめておきます。

(ネットに全く参考記事が無くて孤独死しそうでした・・・)

 

 

 バグった現象

Unityプロジェクト起動後に、
今まで問題なかったプロジェクトのコンポーネントがほぼエラー状態になっていた。
※自作スクリプトではなくUnityに元からあるものもエラーになっていた

f:id:apuridasuo:20191129153335p:plain

図:壊れたプロジェクトのエディター表示

f:id:apuridasuo:20191129153416p:plain

図:VSでスプリクトを開いた時のエラー内容(一部抜粋)

色々確認していったのですが、

何かしらが原因でUnityEngineのdll参照が壊れているのかなー?

ぐらいしか分かりませんでした。

原因(予想)

原因は分からないのですが、心当たりがいくつかあるのでリスト化

・UnityHubの方のバージョンアップ通知があったので更新して

 更新後にプロジェクトを開いた。

 ※これが原因だと思ってます。

 でも、エディターでもないHubの更新でプロジェクトが壊れるとは思えない・・・

・当該PJは、当初2017バージョンのUnityエディタで制作していて

 1ヶ月前ぐらいに2019バージョン(2019.2.11)に切り替えていた

 ※切り替え後も上手く動いていて、2019バージョンで

 アプリリリースも行ってますので関係ないとは思う

上記の2つの要因を掛け合わせて予想した原因は、

UnityHubの更新を行ったことで

2017verエディタで作成したプロジェクトの2019verへの互換性がなくなった!

という事だと思ってます。

対応したこと(失敗編)

結局直りませんでしたが、行ったことをまとめておきます

・PCを再起動

 →変わらず・

・UnityHub、Unityエディターを再インストール

 →変わらず・・

・最新のエディター(2019.2.14)をインストールしてPJ(プロジェクト)を開く

 →変わらず・・・(*_*;

・壊れたPJのAssetsフォルダ全てをエクスポートして新規作成PJにインポート

 →新規作成PJは問題なく動くが、インポートしたとたん

 「'csc'は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません」

 というエラーが出てビルドできなかった・・・(; ・`д・´)

・PJのバックアップ(2017のエディターに対応)を引っ張り出してきて

 2019バージョンのエディタで起動

 →起動したPJが壊れていた・・・(*´з`)

 この対応で、

 「もしかしてHubの更新が原因で

  2019verのエディタと2017verエディタの互換性がなくなったんじゃ・・・?」

 と思いつきました。

対応したこと(解決編)

・PJのバックアップ(2017のエディターに対応)を2018.4.13のエディタで起動

2019バージョンのエディタで起動したら壊れたPJですが、

2018バージョンなら壊れずに正常に起動できました。

※2017バージョンでも起動できましたが、

 APIレベル28以上の基準が満たせないので2018バージョンで起動

 

あとは、エディター周りの設定を一度削除してしまっていたので

AndroidSDK、NDKの環境を整えて上手くビルドできる様になりました。

 

 分かったこと(大事!)

・UnityHubの更新でもバージョンの互換性は変化する

・バージョンごとに互換性があるため、安易に対応エディタのver更新をしない

・バックアップは偉大・・・( ..)φメモメモ

・2017verのプロジェクトと2018verのプロジェクトは互換性がある

 

いじょうです。

同じ境遇の方がいましたらご参考にしてみてください!