2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Unity×VSCode】UnityEngine, MonoBehaviour 等、もろもろが認識されてないんだけど?

Last updated at Posted at 2020-12-16

本記事は、こんなエラーが出た人の役に立つかもしれません:

The type or namespace name 'UnityEngine' could not found.
The type or namespace name 'MonoBehaviour' could not found.

◤ 環境(2020-12-16時点)

  • Windows 10 Home だいたい最新
  • Unity 2019.4系~2020.1系
  • VS Code だいたい最新(Unity に連携済み)

◤ まえおき

「テキストエディタ VS Code でスクリプトを編集しようと思ったら、エラーが千件単位で出てるんだけど?何なら万単位で出てるんだけど?」となった場合、VS Code で Ctrl + Shift + M を押し、PROBLEMS を確認しましょう。おそらく、冒頭のようなエラーコードが混じっているのではないでしょうか?(違ったらごめんなさい。)

調べてみると、Unityを再インストールしなくてはならないと言う記事がヒットすることもありますが、忙しいときにはやりたくないものです。今回はそんなときの対処法について書きます。

(根本解決ではないですが、そもそも本事例は特定のバージョンに依存したバグではないので、とりあえず「ふーん、そういう解決方法もあるんだー」程度に読むと良いです。)

◤ 参考リンク

ほとんどのワークアラウンドがこの記事に載っているので、まずはこちらを読むと良いです。
当記事で紹介していない対処法についても、まとめてあります。

◤ 対処法

普段、自分が行っている手順を示します。
そのときによって原因が違うのですが、自分の環境では次の手順のどこかで解決します。

⫸ Phase 1

  1. まず、プロジェクトフォルダをエクスプローラーで開き、ルートにある .csproj.sln を全て削除します。(cf. 複数選択の記事
  2. VS Codeを終了し、Unityエディタでスクリプトファイルをダブルクリックして、再度 VS Codeを立ち上げます。
  3. (しばらく待ち、正常に稼動すればOKです。エラーが直らない場合は次へ進みます。)

⫸ Phase 2

  1. VS Code の設定を開き( Ctrl + , する)、omnisharp use global mono 等で検索をかけます。
  2. Omnisharp: Use Global Mono の項目で、ドロップダウンリストを操作します。どの項目に設定するかは任意ですが、この操作を行った際に、OmniSharp Server の再起動ボタンが表示されます。
    image.png
    これをクリックして、サーバーを再起動します。
  3. Ctrl + Shift + UOmniSharp Log を選択し、OUTPUT を眺めておきます。しばらく待つと、処理が終了します。
  4. (この時点で VS Code 側において MonoBehaviour 等のエラーが消えていれば問題ありません。解決しない場合は、次へ進みます。)

⫸ Phase 3

  1. プロジェクトフォルダを確認し、.csproj.slnが再生成されていないことを確認します。されている場合は、念のため削除します。
  2. 必要に応じて、Ctrl + S 等したうえで、Unityエディタと VS Code を終了します。その後、再度 Unity Hub からプロジェクトを開きます。
  3. Unityエディタの再起動後、Projectウィンドウから任意のスクリプトを選択し、VS Code を開きます。
  4. VS Code 側が正常に稼動していることを確認します。

◤ さいごに

以上の手順を踏めば、自分の環境ではエディタがきちんと動作するようになります。
ほかのより良い方法や、根本解決/未然防止の方法を知っている方がいれば、ぜひコメント等で共有していただければと思います。

◤ 追記

「ちゃんと VS Code に拡張入れて、Unity にも Package Manager から Visual Studio Code Editor 入れて、Preferences > External Tools で Generate .csproj for に全部✅入れて、プロジェクトをいったん閉じて Library フォルダ消したあと再起動して、VS Code も再起動かけてるのに、名前空間が怒られるよ~(´;ω;`)」という方は、Visual Code Editor のバージョンが Unity エディタに合っているか確認してください。例えば Unity 2019 では、2020年内リリースのバージョンでないとエラーが出る(最新のパッケージならOKというわけではない)ことを確認しています。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?