元放送部員の雑記帳

管理者:殻栗ポルタ/でんきやさんの備忘録だったり、紹介記事だったり。

UnityアプデしたらTextMeshProがエラー吐いた

アップグレードしたら…… 

Unity2017で作っていたゲームを2019にアップグレードしたら、大量のエラーをお見舞いされました。273くらいだったかな……。

 その中でもとくに、多かったのが以下のエラーです。

Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification

f:id:DIST_GRIMREAPER:20190630230632p:plain

ほとんどをこのタイプのエラーが占めていた。

見るとTextMeshProが原因のようですね。何故に。

エラーの解消

ScriptingRuntimeVersionの変更

このスレッドに、こう書いてあります。

QA replied with "Change Scripting Runtime Version to .NET 4.x" and closed the issue. Not sure if that's the proper solution though, since this issue did not exist in 2019.1.0b4. Something did change between b4 and b9 which now causes this issue.
 

 ……ほう。とりあえずやってみました。

 

Edit→ProjectSettings…

f:id:DIST_GRIMREAPER:20190630231326p:plain

→Player→Other Settings→Scripting Runtime Versionを.NET 3.5から.NET 4.0に。

f:id:DIST_GRIMREAPER:20190630231440p:plain

……すると、今度はエラーが変わりました。

'FaceInfo' does not contain a definition for 'lineHeight' and no accessible extension method 'lineHeight' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)

f:id:DIST_GRIMREAPER:20190630232126p:plain

TextMeshProをダウングレード

調べると、こちらの記事に対処法が書かれていました。

このゲームはTinyModeを使っているわけではありませんが、とりあえず1.3.0にしました。

f:id:DIST_GRIMREAPER:20190630232527p:plain

すると、総数は減ったのですが、また新たなエラーが出てきました。

The call is ambiguous between the following methods or properties: 'TMPro.TMPro_ExtensionMethods.Multiply(UnityEngine.Color32, UnityEngine.Color32)' and 'TMPro.TMPro_ExtensionMethods.Multiply(UnityEngine.Color32, UnityEngine.Color32)' 

 こちらはスクショを忘れました。

データの入れ直し――解決!

Unity2018にアプデしたらTextMeshProでエラーが出た | pc-memoという記事で全く同じエラーだったので見てみました。(この記事にも更に元記事があるみたいですが、手順が細かく書かれているのでこちらのリンクを貼りました)

スクショはないのですが、

1.TextMeshProフォルダを削除

2.プロジェクトを閉じ、もう一度開く

3.Window→TextMeshPro→ImportTMPEssentialResourcesを開いてImportする

4.Edit→ProjectSettings→EditorSettingsに進み、

 ・Version control の Mode を Visible Meta Filesに

 ・Asset Serialization の Mode を Force Textに

 する

5.Window→TextMeshPro→ProjectFilesGUIDRemappingToolでScanして、Saveする

 

……するとTextMeshPro関係のエラーが全て消えました!

でも、PostProcessingとかもちょっと吐いてたりするから、大変……

 

最終的にちゃんと動作するように戻せました、よかったよかった。

 

ではでは。