Unity5.2でVisual Studioでデバッグする

UnityとVisual Studioを連携させる」という記事ではUnityでVisual Studioを使ってデバッグができるということを書きました。その時はUnity4.6とUnity5.0での内容だったため、Unity5.2とは大分やり方が異なっています。今回は5.2でVisual Studioを使えるようにする方法について説明します。
私は以前からVisual Studioでデバッグしていたのですが、今回Unity5.2にアップデートしたところデバッグができなくなってしまいました。後で詳しく書きますが、原因としてはVisual Studio Tools for Unity(VSTU)のバージョンが古かったためでした。スクリプトの編集はできていたので、デバッグもできるだろうと思いこんでいてはまりました。Unity5.2にアップデートしたら、自動でVSTUのバージョンアップしてくれればいいのですが、そうはなってくれませんでした。


以前からVisual Studioを使っていた人は既にVSTUがインストールされているでしょうからアップデートが必要です。使いたいVisual Studioに対応するVSTUのバージョンアップをしてください。Unity5.2ではVSTUの2.1を要求するので、それ以降のバージョンでないとデバッグできません。(編集は可能ですが、デバッグができません。) VSTUのインストーラをダウンロードして、インストールすると正しく動くようになるはずです。

Help->About Unity…を開くと、デバッグできない場合は上の図のように表示されていると思います。正しいバージョンのVSTUがインストールされている場合は下の図のように表示されます。 このようになっていれば、Visual Studioでデバッグできます。

デバッグの方法は

このAttach to Unityボタンを押してUnityで再生することでできます。

もしくはDEBUGを選び、

メニューからAttach Unity Debuggerを押すと、Select Unity Instanceというウィンドウが開かれます。

このウィンドウで対象となるものを選びOKを押します。Unityで再生を行えばデバッグが可能です。

Attach to Unityボタンを押す方が簡単なので、そちらを利用する方が普通だと思います。 


新しくUnity5.2から始める人はUnityのインストール時にVisual Studioも入れるか設定できます。VSTUも入るのだと思いますが、試していないのでそれについてはわかりません。Help->About Unity…を開いて、VSTUが正しくインストールされているか確認してください。



MicrosoftのページでVSTUについての記事があったのでリンクを載せておきます。英語ですが、詳しく説明が載っています。
 「Unity 5.2 and Visual Studio Tools for Unity 2.1」と「Native support for VSTU 2.1 in Unity 5.2」が参考になると思います。

デバッグできない人には「Native support for VSTU 2.1 in Unity 5.2」の一番下にあるChecklistが役に立つので訳しておきます。

Visual Studioを使用する手順のまとめ

  • Visual StudioとVisual Studio Tools for Unityのバージョン2.1をインストールします。
  • 以前からVSTUを使っている場合、Unity上でUnityVSフォルダがあるはずなのでそれを消します。
  • Unity上でPreferenceのExternal Script Editorを使用するVisual Studioに設定する。
  • Unity上でAbout Unityウィンドウを開きVSTUが有効になっているか確認する。