VectorGraphicsが原因でUnityEngine.UIへの参照がエラーになる問題

普段当たり前のように使っていたUnityEngine.UIですが、先ほど突然UnityEngine.UIへの参照がされなくなってしまいました。

エディタはVS Codeを使っているのですが、突然

using UnityEngine.UI;

という記述で赤い波線が表示されるようになったのです。

もちろんusingできていないので、ImageやTextにも表示されていました。

原因が全く分からず、何故だろうとあれこれ試行錯誤してみると。。。

原因と解決方法

PackageManagerからVectorGraphicsを導入しており、これが原因となっているようでした。

今回使用していたのは現時点での最新版であるpreview.11-Version2.0.0です。

根本的な解決にはなっていないのですが、今回はまあSVGじゃなくても問題はないか、ということでVectorGraphicsをPackageManagerからRemoveすると、UnityEngine.UIでのエラーが解消されました。

PackageManagerのVectorGraphicsを見てみるとUIに依存しているようなので、こちらが原因なのかもしれません。
(よく分かりませんが、まだpreview版なので解決されるのを待つことにしました。)

ちなみに原因をあれこれ探っているときに変なものを触ってしまったのか、HierarchyビューのCreateで選択候補にUIが表示されなくなってしまいました。

プロジェクトフォルダの中にあるAssembly-CSharp-Editor.csprojに、他の記述にならってUIを参照するようにReferenceを追記すると、無事いつも通り表示されるようになりました。

コメント