土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

UnityTips 2019.1にプロジェクトを移行した時に出たエラーと対応処理

 Unity2018.2で開発していたプロジェクトを2019.1で開くと「TextMeshProがどうたら(ちゃんと読んでない)」というエラーが大量に出て実行できなくなりました。これ、前にも起きてその時は色々操作してたらなんとかなったんですが、正しい解決方法を確認したいと思っていました。

 で、今回また同じ現象が起きたので調べてみたら、どうも2019.1対応のTextMeshProがC#4.0(≒.NET3.5)非対応で、変換したプロジェクトの設定が.NET3.5のままだからのようです。2019.1から.NET3.5は削除予定になったので、Project Settings>Playerからサクっと変更しましょう。再起動後に問題なく動作しました。

 また、以前からUnityEngine.Advertisements.dllとUnityEngine.Purchasing.dllが以下の警告を出すのが気になっていました。

Importer for Packages/com.unity.ads/UnityEngine.Advertisements.dll has changed in memory, but the asset is read only. Importer settings stored in the meta file will be used.
私訳:XXXXがメモリ上で変更されていますが、このアセットは読み取り専用です。metaファイルに保存されているインポーターの設定が適用されます。

 この二つのDLLは、広告課金系のパッケージなのですが、そもそもデフォルト状態でこれらがインポートされている理由がわかりません。というわけでWindow>Package Manegerから、直近で使わないパッケージを全部リムーブすることにしました。


 今残っている物(Package Maneger上でチェックが入っている。あるいは\Library\PackageCacheを参照)は、CollabrateとTextMeshProのみです。TextMeshProは直近では使わないんですが、なんかCanvasを使う限り必須のようなので(未確認)リムーブしませんでした(必要なさげなら後でサクります)。