前回の補足になります。
前回はTMProをScriptの方でusingできない問題を取り上げましたが、
今回はusingはできたけどScript内でTMP_TextやTextMeshProUGUIが使えない!
といった問題に対処します。
前回の記事はこちらです。
0. 開発環境
Unity2018.2.9f1
TextMeshPro 1.3.0
1. 発端
前回の記事を見てくださった方ありがとうございます。
その時、以下のようなコメントをいただきました。
taishi (39.110.22.41)
using TMProは使えるようになりましたが、TextMeshProUGUIを取得することがなぜかできません...orz
実際にやってみた・・・
ほんとだ!
using TMProはできているのに、TMP_Textとかはエラーになってる!
そしてTMProの方は、「え?私関係ないですよ?」と言わんばかりのグレー化。
(VisualStudioでは使用されていないディレクティブはグレーで表示されます)
エラー吐いてるのでこのままじゃ動かない
かと思いきや、
Unity側では問題なし、コンパイルエラーが出ていません。
見かけだけではなくきちんと動作しています。
これじゃあUnityとVisualStudioで全く挙動が違うことに・・・
2. VisualStudioの更新
難儀しましたが、以下のフォーラムや記事で解決の糸口を見つけました。
Unity 2018.2.2f1, TMP, and Visual Studio 2017
【Unity】2018.2に更新したら、VisualStudioでエラーが出始めた - うら干物書き
要はVisualStudioが古いのが原因とのことです。
なので早速更新開始!
公式マニュアルの通りに進めていきましょう。
まずは、VisualStudio上で通知をチェック。旗のアイコンです。
出てきました、更新の情報が。ここをクリックしましょう。
現在のバージョンと新しいバージョンが確認できます。
更新ボタンを押しましょう。
その前にインストーラーの更新が入りました。再び更新。
この時、以下のようなウインドウがでます。
どうやらVisualStudioを開いたままだと更新できない模様。
VisualStudioは終了しておきましょう。
さて、ようやく更新開始です。
数分で終わるのでお茶でも飲んで待ちましょう。
無事終了。
ここから起動することもできますが、Unityから起動しましょう。
インストーラーは閉じても大丈夫です。
3. ようこそ!Text Mesh Proへ
VisualStudioの更新は終了。
これでVisualStudio側のエラーも消えるはず・・・
なんでぇ?
エラーが消えてない・・・どうして・・・ドウシテ・・・(ぐにゃあ
そういえば!
何か新しいものをインストールした時やアップデートした時は再起動するのがお約束。
さっそくUnityとVisualStudoを閉じて。再起動。
そして・・・
やったぁ!無事エラーが消えました。
インテリセンスも動きます。
4. まとめ
VisualStudioでTextMeshProが動かない時は、VisualStudioを最新に更新しよう。
これからUnityがバージョンアップするにつれて必須の作業になるかもしれません。