UnityのStandard Assets (for Unity 2018.4)の最新版をUnity 2019, Unity 2020などのプロジェクトにインポートすると、インポートしただけでエラーが表示されてしまい実行できません。
実際のエラーメッセージと原因
画面はUnity2019のものですが、Unity2020でも同様のエラーメッセージでした。
実行すると何も作っていないのに実行エラー。
Unity Editorの左下には、赤文字でエラーが表示されています。
エラーメッセージの全文
Assets\Standard Assets\Utility\SimpleActivatorMenu.cs(11,16): error CS0619: ‘GUIText‘ is obsolete: ‘GUIText has been removed. Use UI.Text instead.’
わたしの拙い英語力で訳すと
GUITextは古いから、UI.Textを使ってね
となります。
対処法
表示されたエラーメッセージ部分をダブルクリックして、Visual Studioを起動します。(上の大きい「!」の部分の文字でも大丈夫です)
Visual Studioが起動してエラー箇所のソースコードが表示されるはずです。
今回は、SimpleActivatorMenu.cs というファイルでエラーが出ていました。
「GUIText」の部分は古い命令なので「GUI」の部分を消して、エラーメッセージ通り、「Text」に修正します。
先ほど修正したTextは、UnityEngine.UIクラスに宣言されているため、ソースコードの一番上まで戻って、「using UnityEngine.UI;」を追加します。(最後のUIは英大文字のユーとアイです!)
上記2点を修正後、上書き保存してUnity Editorに戻ります。
実行するとエラーが消えていることが分かります。(エラーメッセージは2箇所出てきたと思いますが、上記の修正で2箇所ともエラーが消えます)
以上、Unity:Standard Assetsをインポートしただけで出るエラーの対処法でした。
ちなみにこの修正は、新規プロジェクトにStandard Assetsをインポートする度に必要になります。
面倒な方は修正済みのプロジェクトフォルダからStandard Assetsフォルダをコピーして別のプロジェクトのAssetsフォルダにドラッグ&ドロップでインポートすれば修正の必要なく利用できます。(どっちも面倒ですが…)
たぶん、Standard Assets (for Unity 2018.4)のアセット名からも分かる通り、Standard Assetsは最新の環境で利用して欲しくないんでしょう。でもStandard Assetsはなかなか使い勝手があって個人的には好きです。
コメント
役に立ちました!
この記事のお蔭でプログラミングが次へ進めます!
良かったです!
Standard Assetsはわたしも好きなアセットなので最新のUnityでも使いたくなるんですよね。