naichi's lab

3日後の自分(他人)への書き置き

【unity】Unity5.5から2018.2にあげたらTextMeshProがめっちゃエラーした

すでにいろんな人が散々書いてますが自分も遭遇したのでメモ

何が起きた

  • 5.5.1f1で作ってたプロジェクトを久々に開いた
  • 2018.2.5f1に更新された。
  • いっぱいエラー出た(46個)

f:id:naichilab:20181015234850p:plain:w320

エラー例

Multiple plugins with the same name 'tmpro_plugin' (found at 'Packages/com.unity.textmeshpro/Plugins/64 Bit Plugins/TMPro_Plugin.bundle' and 'Assets/TextMesh Pro/Plugins/64 Bit Plugins/TMPro_Plugin.bundle'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.
Assets/TextMesh Pro/Scripts/TextMeshProUGUI.cs(72,21): error CS0103: The name `m_canvasRenderer' does not exist in the current context
Assets/TextMesh Pro/Scripts/TMP_Text.cs(276,35): error CS0121: The call is ambiguous between the following methods or properties: `TMPro.TMPro_ExtensionMethods.Compare(this UnityEngine.Color32, UnityEngine.Color32)' and `TMPro.TMPro_ExtensionMethods.Compare(this UnityEngine.Color32, UnityEngine.Color32)'

原因

f:id:naichilab:20181015235159p:plain:w320

  • TextMeshProが2箇所に入ってる
    • Assets/TextMesh Pro 5.5のときにアセットを導入してインストールされたフォルダ
    • Packages/TextMesh Pro 2018でPackageManager経由でインストールされたフォルダ

=> Assets以下のTextMeshProを消せばどうにかなりそうです。

対処

1. Assets 以下のTextMeshProフォルダを消す

丸ごと消す。

エラーが4つに減りましたが下記が残ってました。

Multiple plugins with the same name 'tmpro_plugin' (found at 'Packages/com.unity.textmeshpro/Plugins/64 Bit Plugins/TMPro_Plugin.bundle' and 'Assets/TextMesh Pro/Plugins/64 Bit Plugins/TMPro_Plugin.bundle'). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.

Unityエディタを開き直したらエラーは消えました。

2. TextMeshPro必須リソースを取り込む

メニュー -> Window -> TextMeshPro -> Import TMP Essential Resources

f:id:naichilab:20181015235841p:plain:w320

これで新しいTextMeshProで最低限必要なシェーダーやフォントアセット等が作られます。

f:id:naichilab:20181015235934p:plain:w320

インポート先は Assets/TextMesh Pro で、消したフォルダと同じ場所ですがこれはこのままで大丈夫。

3. 新旧スクリプトの置き換え

メニュー -> Window -> TextMeshPro -> Project Files GUID Remapping Tool

f:id:naichilab:20181016000121p:plain:w320

Scan -> Save

f:id:naichilab:20181016000226p:plain:w320

まとめ

ひさびさにプロジェクト開くと怖いですね。

TextMeshProは市販アセットからUnity公式アセットになってインストール方法も大きく変わりました。

ちょっと怖かったですが無事移行完了してホッとしました。