https://unity-chan.com/ からダウンロードできる「ユニティちゃん 2Dデータ」アセットを Unity 2019 にインポートすると、次のエラーが出力されます。
Assets\UnityChan2D\Demo\Scripts\TimeController.cs(10,12): error CS0619: 'GUIText' is obsolete: 'GUIText has been removed. Use UI.Text instead.'
Assets\UnityChan2D\Demo\Scripts\PointController.cs(7,12): error CS0619: 'GUIText' is obsolete: 'GUIText has been removed. Use UI.Text instead.'
Assets\UnityChan2D\Demo\Scripts\PointController.cs(8,12): error CS0619: 'GUIText' is obsolete: 'GUIText has been removed. Use UI.Text instead.'
これらのエラーは、このアセットが uGUI 以前のレガシーな GUI システムを使っており、それが Unity 2019 で廃止されて使えなくなったために出力されています。そしてこれらのスクリプトを修正しても、いろいろなところに互換性の問題があってまともに動作しません。
このアセットはとてもよくできていて、今でも時々使いたくなるようなものなのですが、アセットが新しいバージョンの Unity に対応していないため、Unity 2019 以降では使えません。非常に残念なので修正するための差分パッケージを作りました。
こちらからダウンロードしてください。
アセットのインストール手順は以下の通りです。
- https://unity-chan.com/ の "DATA DOWNLOAD" からライセンスに同意して、「ユニティちゃん 2Dデータ」アセットのアセットパッケージをダウンロードしてプロジェクトにインポートする
- UnityChan2D Fix.unitypackage をダウンロードしてプロジェクトにインポートする
- アセットに含まれる Introduction_Demo シーンを実行し、基本挙動を確認する
- アセットに含まれる Start シーンを実行し、デモゲームを実行する
修正箇所は以下の通りです。
- レガシーな GUI コンポーネントを使っている箇所をすべて uGUI を使うように修正した(スクリプト・シーン)
- obsolute な API を使っている箇所を修正した(スクリプト)
- 値の初期化をしていないために警告が出る場所を修正した(スクリプト)
- Unity 2018 以前で作られたパッケージ内でスライスされたスクリプトを参照していると、Unity 2019 にインポートした時に missing になってしまう問題に対応するために、スプライトの参照先を設定しなおした(シーン・プレハブ・アニメーション)
- 一部の AudioSource の設定が 3D になっていてボイスが聴こえない問題を修正した(プレハブ)
修正差分には、オーディオクリップや画像ファイルを含めないよう工夫して作っています。そのため、元のパッケージを入れた後に差分を入れないと動きません。