導入
Visual Studioとの統合で上手くいかない箇所をまとめました。
統合が出来ているか確認する方法
以下の通りだと、統合が正しく出来ています。
- Visual StudioのRunボタン(緑色の▶)の右にある文字列が、「アタッチ」ではなく、「Unityにアタッチ」になっている
- gaと打つと、GameObjectという予測変換が出てくる
- 関数の上に、「Unityメッセージ〇個の参照」という文字が表示される
①基本的な問題
基本的には、以下の動画を見て下さい。
重要なポイントは、
- Visual Studio Installerで、「Unityによるゲーム開発」をインストールすること
- Preferences>External Tool>External Script Editorで、「Visual Studio」を選択すること
また、動画では、再インストールすれば絶対治ると言っていますが、そんなこと無かったです。自分の場合は、②で上手くいきました。
②強制的に読み込ませる
Preferences>External ToolのExternal Script EditorをVisual Studioにした後、下に沢山のチェックボックスが現れます。デフォルトでは、2箇所だけチェックが入っていると思いますが、これをとりあえず全部チェックします。
その後、Regenerate Project filesというボタンを押します。
更にその後、Visual Studioを開くと、ファイル変更の検出という名前のポップアップが出てくるので、再読み込みを選択します。
このようにすると、正しく読み込まれ、統合が上手くいきます。
③一部のクラスだけ読み込まれない
EditdorGUILayout、Selection、EditorWindow等の、エディタ上で動作するクラスが読み込まれず、赤線が表示されることがあります。
この問題は、該当ファイルをAssets/Editorというフォルダに配置すると治ります。
Assets/Editorは、Assets/Resourcesと同じような特殊フォルダで、エディタ用のスクリプトを配置するフォルダになっています。
④特殊フォルダ間の参照が出来ない
Assets/EditorとAssets/Editor以外のコードは、自動的にプロジェクトが分離されます。これにより、Assets/Editor内のコードから、Assets/Editor外にあるクラスを使おうとしても、クラスが存在しないというエラーが発生することがあります。
この問題は、ソリューションエクスプローラー(右側のウィンドウ)のプロジェクト(Assembly-CSharp.Player)を右クリックして、全ての依存関係ツリーの読み込みを選択して、全てのファイルを読み込むことで治ります。