ゲームの作り方 #014 UnityをアップデートしたらUnity Package Manager Errorとか【涙目】

はじめに

デザイナーなので良くわからないエラーが出た時でも自分で対処ができるようにビジュアルスクリプトでゲームを開発してます。

こないだも要らん事をしてUnityが「All compiler errors have to be fixed before you can enter playmode!」とエラーを吐いて何も出来なくなって頭が真っ白になったのです。

涙目になって慌てふためきました。

今まで作ってたのが全く動かなくなるのですから! 

エラーっぽいところを潰してもダメ。

デザイナーだもの、直し方分からないし焦る事しかやる事ない。

もちろん用意周到なので、いらん事をする直前にGitHub Desktopにpush(ネットにバックアップして)あったので胸を撫で下ろしました。

それをダウンロードすれば元通り。

怖いもんなしですわ。

ガハハハハと、自信満々ですが本当に焦った。

ゲーム開発怖い。

近頃秋めいてきまして、そろそろAppleシリコン搭載のMacBook Pro 16インチが出そうな気配がプンプンしてますよね?

早く出てくれないと、今使ってるMacBook Pro 13のディスクがほとんど一杯で何も出来ません。

そういえばUnityのバージョン2020からAppleシリコンに対応してるらしく、爆速で動くとか。

現在はUnity 2019.4.19f1 LTSを使っているので、気が早いですが最新の推奨リリースUnity 2020.3.18f1 LTSにアップデートしようと思います!

Unity 2020.3.18f1 LTS

Unity Hubで2020.3.18f1 LTSを無事インストールして、プロジェクトを開いた所。。。

Unity Package Manager Error: Could not find Unity Package Manager local server application at [C:/Program Files/Unity/Hub/Editor/2020.xxx/Editor/Data/Resources/PackageManager/Server/UnityPackageManager.exe]. Missing files could be the result of an antivirus action or a corrupt Unity installation.

Click on Retry to relaunch Unity and reopen your project.

Click on Diagnose to launch the Unity Package Manager Diagnostics tool.

とか言ってエラー。

Diagnoseってやつを押してみたら、

UPM Health checkというので弾かれてます。

意味がわからないでグーグル先生に聞くと、だいたいUnity 2020を削除してインストールし直せばオッケーみたい。

テキトーな直し方だなと思いました。

しかし自分の環境では何度インストールし直してもダメ。

もうかなり半泣きで、涙で画面が見えません。

2021

もうヤケクソで正式版と称されてるUnity 2021.1.20f1をインストールしてみました。

そしてプロジェクトを開いた所、普通に動きました。

エラーも無く。

WARNINGは出てましたが、自力で潰しました。

なんだろう、Unity2020を入れるつもりが、Unity2021になってしまいましたね。

そりゃLTS(ロングタイムサポート)版に越したことはないですが、正式版だってそこそこ良いと思うのですよ。

だって自分が作っているゲームが、奇跡的にエラーも無くちゃんと動いているのですから。

エラーでUnityが立ち上がらない2020 LTSとエラーもなく動く2021 正式版の二択なら、あなたはどちらを選びますか?

もしこれでダメだったら2019に巻き戻せば良いさ。

2021の逆襲

しかし全てが「めでたしめでたし」と言うワケではなかったのです。

エラーは出ませんでしたが、ゾンビを配置してプレイしてみた所、ゾンビがじぶんを攻撃してくれず通り過ぎて行ったのです。

調べてみた所、よくわかりません(涙目)。

いよいよ2019に巻き戻す時が来ました。

あーあ、今日一日の作業は無駄だったな。

明日やろう。

不貞寝しました。

翌朝

そしたら怪しい箇所がヒラメキました。

長いゲーム開発をしてるとこういうヒラメキが鍛えられてますから。

またあのそうめんの棒みたいなRaycastが悪さしてるんじゃないの?、と。

調べてみたら案の定Raycastです。

Raycastがどんどん身体から離れていって、明後日の方向に移動してるのです。

Raycastといえば思い当たる節があって、Rigidbodyを導入した時にコライダーを使用せずに引き続きCharacter Controllerも使ってたのです。

だって2019だと動いてたんだもの。

Character ControllerはRigidbodyによる物理特性を使用しない簡易的なプレイヤー制御に使うやつです。

なのでCharacter Controllerを破棄して、Rigidbodyとコライダーの組み合わせに変えたら上手く動きました!

何なの、俺冴えてるわ!

いよいよ鍼が効いてる様だ。

つづく

作成中のグラフィックは @oknaka のインスタで晒しています。

作成中の動画は @oknaka のYouTubeで晒しています。

作成中のBGMは @tigeronbeat のインスタで晒しています。

フォローよろしくお願いします。