Unity 2022 → Unity 6000.1.11f(Unity 6)アップデート時の備忘録

Unity

Webプラットフォームについて調べた際に、メインで使用しているバージョンだったUnity2022系から、Unity6(Unity 6000.1.11f1)に移行しました。

今作っているのは小さい小さいミニゲームみたいなものなので、ほとんどすんなりいけたんですが、一つエラーが出て思いの外解決するまでに時間がかかったので備忘録として残しておきます。

もしかしたら結構古いバージョンから一気に飛んだせいかもしれないので、そう多くはないかもしれませんが、もし同じような状況の方がいらっしゃったら参考になれば幸いです。

エラーメッセージ内容

Assets\TextMesh Pro\Examples & Extras\Scripts\VertexZoom.cs(153,44): error CS0029: Cannot implicitly convert type 'UnityEngine.Vector4[]' to 'UnityEngine.Vector2[]’

同じようなエラーが4箇所程度表示されていました。
どれも自分が作成したコードではなく、TextMesh Pro関連のエラーっぽい記載がありました。

解決方法

結論 : 忙しい方向け

メニューの Window – TextMeshPro – Import TMP Examples and Extras でインポート

詳細 : プロジェクトの状況説明

自分のプロジェクト状況としては、以下の通りでした。

  • TextMeshPro:導入済み
  • TMP Essentials:導入済み
  • TMP Examples & Extras:導入済み

(後半二つはTextMeshProを導入した最初に出てくる TMP Importer ウィンドウで導入選択できる拡張パッケージみたいなもの)

TextMeshProを導入した際に、他の拡張機能も入れていたという状況ですね。
ということで、改めてパッケージの再インポートを試してみました。

メニューの Window – TextMeshPro – Import TMP Examples and Extras をクリックして、拡張パッケージをインポートしたところ、無事エラーメッセージが消えました。
私のケースだと、TMP Essentials は特に更新しなくても問題ありませんでした。
プロジェクトの状況によっては、こちらも更新しても良いかもしれませんね。

最後に

今回のエラーはおそらくですが、古いUnityバージョンから新しいバージョンにアップデートした際に TextMeshProのAPIが変わってしまったことが原因だと思われます。

正直今まで拡張機能のExampleとか意識したことがなかったので(←オイ)、詳細はわからないですが、追加でインポートした際に互換性が取れるようになった。もしくは再インポート扱いになって、整合性が取れた。ということかなーと思います!

そもそも拡張機能を入れてなかったよ!という方はもしかして発生しないエラーなのかな?と思いますが、もし同じような方がいらっしゃった場合は、再インポート試してみてください!
(新バージョンが出てもずーっと古いまま使い続けているのは少数派かもしれませんが…w)

コメント

タイトルとURLをコピーしました