【Unity】Riderで「Cannot Resolve Symbol」エラーが大量発生した時の解決手順

Unityでの開発中、Unityエディタ上では一切エラーが出ていないのに、Riderを開くと「Cannot Resolve Symbol(シンボルを解決できません)」という赤波線のエラーが大量に表示されて困ったことはありませんか?

今回は、RiderがUnityEngineなどの参照を突如見失ってしまった場合の、最も手軽で確実な解決方法をご紹介します。

目次

なぜUnityでは正常なのにRiderでエラーになるのか?

Unityエディタ側でコンパイルが通っているにも関わらずRiderだけでエラーになる原因の多くは、UnityとRider間のプロジェクトファイルの同期ズレです。

何らかのタイミングでC#プロジェクトの参照情報がうまくRiderに渡らなくなっているだけなので、コード自体にバグがあるわけではありません。この同期状態をUnity側から強制的にリセットしてあげることで解決します。

「Cannot Resolve Symbol」を解決する具体的な手順

Unity側の外部エディタ設定を「一度別のものにしてから戻す」というシンプルな方法で参照を復旧できます。

STEP
UnityのPreferencesを開く

まずはUnityエディタのメニューから Preferences(Macの場合は Unity > Settings... または Preferences...)を開きます。

STEP
External Script Editorを再設定する

左側のメニューから External Tools を選択し、一番上の External Script Editor の項目を確認します。

  1. 現在「Rider」に設定されているプルダウンをクリックし、一度「Open by file extension」など、別のエディタ設定に変更します。
  2. 変更後、再度プルダウンを開き、「Rider」を指定し直します。
STEP
同期処理(Hold on)の完了を待つ

Riderを再指定すると、Unityエディタ上で「Hold on…」という小さなプログレスダイアログが表示され、プロジェクトファイルの再構築と同期が始まります。

この処理が完全に終了したら、Riderの画面に戻ってみましょう。無事に参照が修正され、画面を埋め尽くしていたエラーが消滅しているはずです。

それでもエラーが消えない場合は?

もし上記のエディタ切り替えを行っても直らない場合は、同じく External Tools の画面内にある Regenerate project files のボタン(または Regenerate project files のチェックボックス横のボタン)をクリックして、プロジェクトファイルを強制的に一から再生成してみてください。大抵の参照エラーはこれで解決します。

まとめ

Riderで突然「Cannot Resolve Symbol」が出たときは焦らず、「External Script Editorの再設定(または再生成)」を試してみてください。

開発環境のトラブルはサクッと解決して、快適な実装作業に戻りましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

はじめまして、秋月なるです。

アラフォー会社員で、スマホアプリ/ゲーム/AIが好き。
新しいものを見ると触りたくなるタイプで、スマホやウェアラブル等ガジェットが好きですが、よく買ったあとに「思ってたのと違う…」をやりがち。

ブログ投稿は趣味の1つなので、興味があるもの全般をゆるく続けていこうと思います。

目次