Yuta Watanabe's Blog

開発周りと、その他諸々

Visual Studio Tools for Unity ( UnityVS ) で Unity 開発/デバッグの生産性を上げよう

こんにちは。

マイクロソフトの渡辺です。

Unity 開発/デバッグの生産性を上げる Visual Studio の拡張機能 「 Visual Studio Tools for Unity 」 ( UnityVS ) を、今日はご紹介します。

Visual Studio Tools for Unity は、Unity アプリを Visual Studio で開発&デバッグできるようにする拡張機能です。

f:id:yuwata:20141015173834p:plain

マイクロソフトは2014年7月に UnityVS を開発する SyntaxTree を買収し、有料だった UnityVS を、現在は「 Visual Studio Tools for Unity 」として無料で提供しています。

Unity のデフォルトのエディタは MonoDevelop ですが、Visual Studio Tools for Unity で Visual Studio をエディタとして使うと下記のようなメリットがあります。

  • Unity のエディタとして Visual Studio が使える!!
  • Visual Studio のデバッグ機能が使えるので、デバッグが快適 & 効率的になる
  • Visual Studio のエディター機能により、コーディングがよりスムーズになる

開発者の生産性を上げる Visual Studio Tools for Unity 、環境準備から使い方までを見ていきましょう。

※スライドでご覧になりたい方は下記

※2015/1/14 追記:Visual Studio Tools for Unity 2.0 Preview の新規能等は下記記事にまとめました


Visual Studio Tools for Unity 2.0 Preview の新機能等 - Yuta Watanabe's Blog

Visual Studio Tools for Unity 環境準備とインストール 

まずは環境準備です。

Visual Studio Tools for Unity は無料の拡張機能です。ただし、拡張機能は Visual Studio Express ではインストールできませんので、Visual Studio Professional 以上のエディションが必要です。

ということで、必要な環境は、

となります。参考までに、誰でも!というわけではないのですが、Visual Studio Professional や Ultimate を無料で使う方法はこちら。


Visual Studio Professional や Ultimate を無料で利用する方法 - マイクロソフト エバンジェリストのブログ

※2014/11/13 更新

Visual Studio Professional 相当の無料エディション Visual Studio Community 2013 が公開されました


Visual Studio Tools for Unity ( UnityVS ) を無料の Visual Studio Community 2013 で使おう - Yuta Watanabe's Blog

Visual Studio Tools for Unity は無料の拡張機能ですので、Visual Studio ギャラリーから簡単にインストールしていただけます。

f:id:yuwata:20141015174602p:plain

ダウンロードしてインストーラーを実行。インストール完了後は、Unity エディタから Assets > Import Package > Visual Studio 2013 Tools と選択してパッケージをインストールしましょう。メニューバーをクリックすると、" Visual Studio Tools " というメニューが現れます。

f:id:yuwata:20141015174626p:plain

これで準備は完了です!

Unity デバッグを Visual Studio から行う

Visual Studio を起動

それでは、Visual Studio を使ってみましょう。今回は、Asset Store で提供されているサンプル「 2D Platformer 」を例に進めていきます。Unity エディタのメニューから、Visual Studio Tools > Open in Visual Studio と選択すると、Visual Studio が起動します。

f:id:yuwata:20141015174827p:plain

ソリューションエクスプローラーからプロジェクトの中身を確認することもできますが、Unity Project Explore ( 表示されてない場合は、表示 > Unity Project Explore ) を使うと、Unity エディターと同じ階層表示でフォルダ/ファイルを表示することが出来ます。もちろん、スクリプトの新規作成、名前変更、削除等を直接行えます。

ブレークポイントの設定

ブレークポイントを設定してみましょう。

Enemy.cs の 83行目あたり、スコアを更新する部分にブレークポイントを置きます。 

Part of Enemy.cs in 2D Platformer ( Unity )

シンプルにブレークポイントを置くだけでなく、ある条件の時だけ止まるように、条件付きブレークポイントを置くこともできます。当該箇所を右クリックすると "条件(C)..."というメニューがありますので、クリックしてください。すると、条件式を入力できるダイアログが表示されます。

例えば、

Condition statement in Unity debugging 

というよう設定してみます。

f:id:yuwata:20141015174959p:plain

デバッグの開始

デバッグを開始します。

" Attach to Unity and Play " を選択してクリック ( または F5 ) すると、デバッグが開始され、Unity エディタ側でも自動的にデバッグがスタートします。初回デバッグ時は、アタッチする Unity エディタを選択するダイアログが表示されるので、選んで進みましょう。

f:id:yuwata:20141015175145p:plain

少し遊んで、スコアが400になった状態で敵を倒すと...、条件付きブレークポイントで設定した通り、とまります。Visual Studio のデバッグ機能である ウォッチ、ローカル等の変数ウィンドウイミディエイトウィンドウ、ステップ実行等を活用しながら、デバッグを進めていきます。

f:id:yuwata:20141015175342p:plain

また、Unity Console の内容は、Visual Studio のエラー出力に表示されます。なので、デバッグ中に Unity エディタと行ったり来たりする必要はありません。

Unity 開発を Visual Studio から行う

Visual Studio でのデバッグを体感した後は、コードも書いてみましょう。

Intellisense ( コード自動補完機能 ) をはじめとする様々な Visual Studio の機能を使うことが出来ます。

f:id:yuwata:20141015191224p:plain

Unity 開発向けの機能としては

  • MonoBehavior のコーディング支援
  • Unity のドキュメント参照

があります。

MonoBehavior のコーディング支援

MonoBehavior の関数を簡単に素早く実装するサポート機能が2つあります。まず 1つ目は MonoBehavior ウィザードです。Ctrl + Shift + M でダイアログが表示されます。

f:id:yuwata:20141015192356p:plain

表示された API から実装したものをチェックして OK を押すと、コードが挿入されます。なんとなくな関数名だけわかっている場合や Unity を学び始めの際は便利です。

また、より素早く Monobehavior 関数を実装する際は、Ctrl + Shift + Q で、クイック MonoBehavior を呼び出しましょう。

f:id:yuwata:20141015192411p:plain

例えば、"OnMouseDown" であれば、"OMD" で呼び出せます。 いわゆるキャメルケースで大文字になっている文字を打っていけば関数が絞り込めるというわけです。

Unity のドキュメント参照

Unity のドキュメントは Visual Studio の中で直接参照することができます。仕様を確認したい関数を選択して、Ctrl+Alt+M, Ctrl+H とすると、当該のドキュメントが開きます。また、ヘルプ > Unity API Reference からもドキュメントを開くことができます。

f:id:yuwata:20141015192655p:plain

ドキュメントを参照しながら、コードを書きたい際は、ぜひドラッグ & ドロップでのウィンドウ分割と合わせて利用すると便利です。

その他、Visual Studio Tools for Unity の機能については、UnityVS のドキュメントも合わせてご覧ください。

Unity 開発者必見!Microsoft の開発者支援プログラム

ここまで Unity でのアプリ開発に Visual Studio を使う流れをご紹介してきましたが、特に Unity 開発者の方々向けには Microsoft の開発者支援プログラムが諸々ありますので、合わせてご紹介します。

Unity ゲームを Windows ストアへリリース

まず、大前提として Windows ストアで配信できる ユニバーサル Windows アプリは、Unity でも開発できます。

f:id:yuwata:20141015193639p:plain

Unity 4.5.3 よりユニバーサル Windows アプリのビルドに対応しています。Windows Phone ストアおよび タブレット/PC 向けの Windows ストア双方で配信できるアプリを作ることができますので、ぜひ開発中のアプリやお手持ちの Unity アプリを Windows 向けにもリリースしましょう!Unity での Windows アプリ開発や移植情報は「 Unity で作る Windows ストア アプリ 」をご覧ください。

f:id:yuwata:20141015194041p:plain

開発端末や Asset Store のバウチャーがもらえる!?

Unity アプリを Windows ストア向けにもリリースしてみようかなという方向けの支援プログラムその1が 「 Windows Unity Developer Offer 」です。

f:id:yuwata:20141015194508p:plain

こちら Level 1, 2 と段階があり、それぞれ指定された条件をクリアすると、開発端末やアセットストア、マイクロソフトストアのバウチャー、アプリの宣伝支援等をゲットすることができます。

既存タイトルのポーティングでも OK なので、ぜひご活用ください。

開発やデザインの相談も出来る!?

Windows ストアへのアプリリリースにご興味を持っていただいた方向けの特典その2は「 Dev Center Benefits 」です。

f:id:yuwata:20141015195030p:plain

先にご紹介した Windows Unity Developer Offer と似たようなところがありますが、開発者登録の無料トークンがもらえたり、技術/デザインに関する相談もすることができます。

特典の内容は Explore, Expert, Master と3段階に分かれており、条件をクリアしていくと、より手厚いプロモーション支援等を受けることが出来ます。

こちらもぜひご活用ください!

※10/23 日本語ガイドを公開しました!


開発者支援プログラム Dev Center ベネフィットの日本語ガイドを公開 - Yuta Watanabe's Blog

Prime 31 プラグインを無償提供!

アプリ内課金をはじめとしたプラットフォーム固有の機能を実装する時に便利な Prime 31 プラグイン。Windows ストア向けには多くが無償提供されています。

f:id:yuwata:20141015195511p:plain

Unity アプリをポーティングするだけでなく、Windows ストア固有の機能を実装してみよう!という時は、ぜひこちらのプラグインをご活用いただければと思います。

その他の移植 Tips 等は 「 Unity で作る Windows ストア アプリ 」をご覧ください。

このあとは

今回は、Unity 開発/デバッグの生産性を上げる Visual Studio の拡張機能 「 Visual Studio Tools for Unity 」 ( UnityVS ) の使い方をご紹介しました。

まずは、Visual Studio Tools for Unity を使って、Unity 開発の生産性を高めてください。そして、ぜひユニバーサル Windows アプリにもビルドして、Windows ストアへアプリをリリースしましょう!その際は、ぜひご紹介した Microsoft の開発者支援プログラムを最大限ご活用ください!!

※今回ご紹介したリソース