Visual Studio Tools for Unity 2.0 Preview の新機能等
こんにちは。
マイクロソフトの渡辺です。
2014年11月12日・13日に開催された Microsoft の開発者向けイベント Connect(); にて、Visual Studio Tools for Unity ( UnityVS ) の最新バージョン、Visual Studio Tools for Unity 2.0 Preview が発表されました。Visual Studio 2010, 2012, 2013 にて引き続きご利用頂けると共に、Visual Studio 2015 Preview にも対応しています。
また、Visual Studio Professional 相当の機能を持つ ( つまり拡張機能をインストールできる )、 "無料" のエディション Visual Studio Community 2013 が発表され、今後は完全無料で Unity 開発に Visual Studio を利用できるようになりました ( ※ Visual Studio Community 2013 の利用条件は、公式ページをご確認ください ) 。
今回は、この新しい Visual Studio Tools for Unity 2.0 Preview で、新たに追加された機能や改善された点等をご紹介します。
- シェーダ ( Shader ) ファイルの編集
- コレクション ( ArrayList, List, HashTable, Dictionary ) の表示改善
- Public なメンバーや Static でないメンバーをカテゴリ分けして表示
- ウィザードによる MonoBehaviour の挿入
- クラスと構造体に対する DebuggerDisplayAttribute の実装をサポート
- T4 テキスト テンプレートによるファイルの生成
- その他の改善
- 既知の問題への対応
- 関連情報
※2015/1/14 追記:Visual Studio Tools for Unity の概要は「 Visual Studio Tools for Unity ( UnityVS ) で Unity 開発/デバッグの生産性を上げよう 」をご覧ください
※2015/1/14 追記:スライドでもまとめました適宜ご参照ください
シェーダ ( Shader ) ファイルの編集
追加してほしい機能として要望の多かった、Visual Studio 上でのシェーダ ( Shader ) ファイル、.shader ファイルの編集に対応しました。特に Visual Studio 2015 Preview では、シンタックスハイライトにも対応しています。

コレクション ( ArrayList, List, Hashtable, Dictionary ) の表示改善
デバッグ時に、よく使われるコレクション ( ArrayList, List, Hashtable, Dictionary ) がより分かりやすく表示されるようになりました。ローカルウィンドウ、またはウォッチウィンドウより値を確認できます。


Public でないメンバーや Static なメンバーをカテゴリ分けして表示
ローカルおよびウォッチウィンドウ内で、Public でないメンバーや Static なメンバーは、Public メンバーとは別にカテゴリー分けして表示されるようになりました。外部のライブラリで定義された型を Unity スクリプトから呼び出す際に、その内部的な実装について細かく見ていく機会は少ないと思います。デフォルトでは、Public なメンバーのみ直接表示し、Public でないメンバー、Static なメンバーについては、必要な際にツリーを開いてご確認いただけます。

ウィザードによる MonoBehaviour の挿入
Visual Studio Tools for Unity には、MonoBehavior ウィザード ( Ctrl + Shift + M ) と クイック MonoBehavior という2つの MonoBehavior 実装支援機能があります。これらの機能を使って挿入されるコードが、ユーザが設定するコーディングスタイルに準拠するようになりました。
コーディングスタイルは、"ツール" メニューのオプション内の、テキスト エディターの項目から設定できます ( もしくは、Visual Studio 右上部の "クイック起動" より直接呼び出せます )。

クラスと構造体に対する DebuggerDisplayAttribute の実装をサポート
DebuggerDisplayAttribute を使うと、デバッグ時に変数ウィンドウ内でどのように表示されるかを指定できます。単純にプロパティ名や値使うのではなく、それらをカスタマイズして組み合わせた表示もできます。

また、DebuggerTypeProxyAttribute の実装をサポートもされ、型の表示プロキシを指定することで、より柔軟に開発者が表示をカスタマイズすることができるようになりました。
T4 テキスト テンプレートによるファイルの生成
Visual Studio Tools for Unity のプロジェクトにおいて、Visual Studio の T4 テキスト テンプレートの使用がサポートされました。デザイン時 T4 テキスト テンプレートを用いて、入力ファイルから動的にファイルを生成することができます。例えば XML ファイルを入力として、XML ファイルを変更する度にテキストテンプレートを用いてコードを再生成すると、要件が変わった際に構成を素早く変更でき、変更の信頼性も高まります。

その他の改善
SerializedProperty のデバッグ時の表示
インスペクタのカスタマイズをする際等に使用する SerializedProperty が持つ値の、デバッグ時の表示方法を改善しました。Serialized Property は intValue や floatValue をはじめ様々な型のフィールドを持っていますが、デバッグ時には、これらのフィールドの中で実際に値を持っているフィールドのみを表示します。この改善により、プロパティの値が確認しやすくなったのはもちろんですが、無駄な例外が発生しないので表示速度が向上しています。
ResX リソースの追加
Visual Studio Tools for Unity が生成するプロジェクト内で、ResX リソースがサポートされました。リソースをプロジェクトに追加すると、生成された C# ファイルの名前が .resx ファイルと同じである限り、VSTU が自動的に認識します。
既知の問題への対応
- Visual Studio から "Attache and Play" が行われた後、Unity Editor 上でゲームが開始される前に、ソケット接続を初期化するように修正しました。これは "Attach to Unity and Play" を行った際の Unity Editor と Visual Studio の接続の安定性を向上のためです。
- Unity をフリーズさせがちなメソッドの呼び出しを避けるようにしました。これにより、デバッガーをアタッチした際のフリーズを防ぎます。
- シンボルがない場合のコーススタックの表示を修正しました。
- 必要なければ、ログコールバックを登録しないようにしました。
関連情報
- Visual Studio Tools for Unity 2.0 Preview ( The Visual Studio Blog )
- Visual Studio Tools for Unity 2.0 Preview ( 1.9.8 ) Change log
- Unity で作る Windows ストア アプリ ( MSDN )
- Visual Studio Tools for Unity ( MSDN )
Visual Studio Tools for Unity ( UnityVS ) で Unity 開発/デバッグの生産性を上げよう - Yuta Watanabe's Blog
Visual Studio と C++ による Android NDK 開発
こんにちは。
マイクロソフトの渡辺です。
Visual Studio 2015 Preview が 先日 2014年11月12日・13日に開催された Microsoft の開発者向けイベント Connect(); にて公開されました。
Visual Studio 2015 Prview では、C++ によるクロスプラットフォーム開発の機能が強化され、Android NDK 使った C++ による Android アプリ開発がサポートされています。Android Native Development Tools ( Android NDK ) は、C/C++ で Android のライブラリやアプリを開発するためのツールキットです。
また、Android アプリのデバッグに使用する Android エミュレータ、Visual Studio Emulator for Android も公開され、Visual Studio における Android 開発の環境はますます充実してきています。
この記事では、C++ と Visual Studio による Android 開発の概要をご紹介します。
環境を整える
Visual Studio と C++ による Android 開発は、Visual Studio 2015 Preview よりサポートされている機能です。まずは、Visual Studio 2015 Preview をインストールしましょう。
インストール時にいくつかオプションを選択できますが、 "Visual C++ for cross-platform mobile development" にチェックをいれてください。

Visual Studio 2015 Preview のインストールは 2つのステップに分かれており、後半に Android SDK、Android NDK、Apache Ant、Oracle Java SDK、Visual Studio Emulator for Android といった Android アプリ開発に必要なライブラリやツールがインストールされます ( 念のためインストール対象のチェックがついているかご確認ください )。

プロジェクト テンプレート
[ ファイル ] メニューから [ 新規作成 ] をポイントし、[ プロジェクト ] をクリックします。表示された "新しいプロジェクト" ダイアログ ボックスの左側にあるツリーから、Visual C++、Cross Platform と選択してください。すると、いくつかのプロジェクトテンプレートが表示されます。
現在、Visual Studio 2015 Preview で行なえる C++ による Android アプリ開発は、NativeActivity を利用したアプリ開発、Dynamic Shared Library および Static Library の開発です。プロジェクトテンプレートとしては以下の 4つが提供されています。
- Dynamic Shared Library (Cross Platform)
- Native-Activity Application (Android)
- Static Library (Cross Platform)
- Dynamic Shared Library (Android)
Visual Studio での C++ によるクロスプラットフォーム開発では、Windows プラットフォーム向けには Visual C++、Android および iOS 向けには Clang/LLVM を使います。
Native-Activity Application プロジェクトの作成
API Level 9 で追加された NativeActivity を使うと、C/C++ のみで Android アプリを開発することが出来ます。この仕組みは、Unreal Engine 4 等のゲーム開発や、OpenGL によるグラフィックを描写するアプリ等で活用されています。
Visual Studio 2015 Preview では、この NativeActivity を使って C/C++ のみで Android アプリ開発を行うプロジェクトテンプレートとして、「 Native-Activity Application (Android) 」が提供されています。
それでは、さっそく新しくプロジェクトを作成してみます。ここでは、FirstNativeActivity という名前にしました。

生成された Native-Activity Application (Android) のソリューション ( ここでは、FirstNativeActivity ) には、2つのプロジェクトが含まれています。1つは、FirstNativeActivity.NativeActivity、そしてもう1つは FirstNativeActivity.Packaging です。

FirstNativeActivity.NativeActivity プロジェクトには、アプリを実装するすべての C/C++ コードが含まれます。
ソリューションエクスプローラー から FirstNativeActivity.NativeActivity を右クリックし、プロパティをクリックします。表示されたプロパティ ページのダイアログ ボックスで、構成プロパティ、全般と選択するとプロジェクトに関する一般的な設定が表示されます。
" プラットフォーム ツールセット "を見ると、Clang 3.4 が指定されていることがわかります。また、ターゲット API レベルもここで変更できます。既定は " KitKat 4.4 - 4.4.4, (android-19) " です。

そして構成プロパティ、C/C++ を選択すると、ビルド時の様々なオプションを設定できることがわかります。コード生成やプリコンパイル、最適化の設定等がここから簡単に行えます。
もう1つの FirstNativeActivity.Packaging プロジェクトの役割は、FirstNativeActivity.NativeActivity プロジェクトで生成されるダイナミック ライブラリ ( Dynamic Shared Library ) を取り込み、Android アプリ ( .apk パッケージ ) を生成することです。.apk ファイルの生成には、Ant ビルドツールが呼び出されます。
その他、FirstNativeAcitvity.Packaging プロジェクトには、パッケージ化の設定を行うマニフェスト ファイル ( AndroidManifest.xml ) や Ant ビルドの設定ファイル ( build.xml ) が含まれます。
また、Visual Studio 2015 Preview では、Android 固有のコードのインテリセンスもサポートされます。リファクタリングやクイックナビゲーションといった他の C++ コーディング支援機能も同様に利用可能です。



C++ で開発された Android アプリのデバッグ
Visual Studio 2015 Preview では、Android 上で動作している C++ コードのデバッグも、もちろんサポートされます。

デバッグには、Visual Studio が持つ gbd ベースの Android 向けデバッグエンジンを使います。現在サポートされている Visual Studio のデバッグ機能は下記になります。
- F5
- Output window
- Breakpoints
- Step Into/Over/Out
- Run To Cursor
- Call Stack
- Data and Variable windows
- Modules window
- Address level debugging( Disassembly, Memory, Registers windows )
- Threads window
- Parallel Stacks
- Parallels Watch
デバッグにおける現状の制約は下記2点です。
- デバッグできるのは Android 4.2 以上 ( Jelly Bean API level 17 )
- デバッグを停止してもアプリは動作し続ける
また、2014/12/20の時点では下記の Visual Studio における C++ のデバッグ機能はサポートされていません。
- 64-bit processes
- Changing exception settings in the Exceptions window
- Hexadecimal display of integers
- Breakpoint binding to multiple locations (e.g. templates, files with the
- exact same name)
- Android thread names do not appear in the Threads window
- Show parameter values in the Call Stack window
- Attach to process
- Autos window
- Return values
- Interop debugging with JIT’d runtimes (e.g. Java or Xamarin)
- Just My Code
- Edit and Continue
- Tasks window (including Tasks view in the Parallel Stacks window)
C++ によるクロスプラットフォーム開発
C++ のコードは、クロスプラットフォーム開発において様々な画面で再利用、共有することが出来ます。Objective-C, Java, C# から C++ で書かれた共通コードを利用する他、例えば Xamarin のようなクロスプラットフォーム開発環境でも利用することができます。
Visual Studio 2015 Preview では、Android および Windows Phone をターゲットとしたライブラリのプロジェクトテンプレートが用意されています。

Visual Studio での C++ による iOS アプリ向けライブラリの開発のサポートは 2014/12/20 現在、Comming Soon です。
C++ によるクロスプラットフォーム開発の事例も交えたノウハウについては、Microsoft Office と DropBox の開発チームが CppCon 2014にて紹介しています。Microsoft Office は C++ のコードベースからスタートし現在までクロスプラットフォーム対応してきた流れ、また DropBox は Objective-C, Java での開発から C++ でのクロスプラットフォーム開発に移った立場の内容です。
非常に参考になる、濃い内容ですので、ぜひご覧ください。
- Microsoft w/ C++ to Deliver Office Across Different Platforms, Part I
- Microsoft w/ C++ to Deliver Office Across Different Platforms, Part II
- Practical Cross-Platform Mobile C++ Development at Dropbox
- A Deep Dive into 2 Cross-Platform Mobile Apps Written in C++
このあとは
今回は、Visual Studio と C++ による Android NDK 開発の概要をご紹介しました。まだまだ Preview という状態ですが、個人的には思ったより簡単/快適です。ぜひ一度お試しの上、今後の機能実装についてフィードバックをいただければ幸いです!
関連リソース
- Visual Studio 2015 Preview is Now Available ( Visual C++ Team Blog )
- Cross-Platform Mobile Development with Visual C++ ( Visual C++ Team Blog )
- Debugging C++ code on Android with Visual Studio 2015
Visual Studio Emulator for Android のインストール方法と使い方
こんにちは。
マイクロソフトの渡辺です。
先日、2014年11月12日・13日に開催された Microsoft の開発者向けイベント Connect(); にて Visual Studio 2015 Preview が公開されました。Visual Studio 2015 Preview では、C#/Xamarin や JavaScript/Cordova を用いたクロスプラットフォーム開発を始め、C++ による Android アプリ開発もサポートされています。
また同時に、Android アプリのデバッグに使用する Android エミュレータ、Visual Studio Emulator for Android も公開されました。

この Android エミュレータは以下のような開発者の声を受けて開発されています。
- 標準のエミュレータが非常に遅い
- 3rd Party エミュレータが Hyper-V とコンフリクトする
- IDE とは別にのエミュレータをインストールするのが面倒
- エミュレータのために追加のコストを払いたくない
Visual Studio Emulator for Android は、
- 高速
- Hyper-V 上で動作
- Visual Studio と一緒ににインストールされる
- 無料
です。
Visual Studio Emulator for Android そのものは、Visual Studio 2015 Preview だけでなく Visual Studio 2013 や 3rd Party の IDE からも利用することができます。ぜひお手元の環境でお試しください。
この記事では、Visual Studio Emulator for Android のインストール方法および使い方、現時点で実装されている機能、今後実装が検討されている機能等をご紹介します。
Visual Studio Emulator for Android のインストールとアップデート
必要環境
Visual Studio Emulator for Android は、Hyper-V がサポートされる OS 上にインストールすることができます。例えば、Windows 7 や Windows 以外のマシン、仮想マシン上では使用することができないのでご注意ください。
インストール
Visual Studio Emulator for Android は、Visual Studio 2015 Preview インストール時に、"Tools for Apache Cordova" または "Visual C++ for Cros Platform Mobile Development" を選択すると、インストールされます。

これらのオプションを選択し忘れた場合は、Visual Studio Gallery の 「 Emulator for Android 」よりダウンロード&インストールできます。
Visual Studio Emulator for Android の初回起動時には、 Visual Studio 2015 Preview が必要です。1度起動した後は、Visual Studio 2013 やその他の IDE からも利用可能です。
アップデート
Visual Studio Emulator for Android のアップデートは、Visual Studio または Visual Studio Gallery より取得します。
Visual Studio から取得する際は、Quick Launch ( クイック起動 ) のボックスに Update ( 更新 ) と入力し、"Tools -> Extentions and Updates...( ツール -> 拡張機能と更新プログラム )" をクリックします。

すると Extensions and Update ( 拡張機能と更新プログラム ) のダイアログ ボックスが表示されます。左側のツリーより Updates ( 更新プログラム ) 、Visual Studio Gallery ( Visual Studio ギャラリー ) と選択すると、更新があれば Emulator for Android が表示されます。Update ( 更新 ) ボタンを押してアップデートを取得しましょう。

また、Visual Studio Gallery の 「 Emulator for Android 」からもアップデートを取得することができます。
Visual Studio Emulator for Android の起動
デバッグ
Visual Studio 2015 Preview でのデバッグ時に、ターゲットとして VS Emulator Android Phone および VS Emulator Android Tablet が選択できます。もちろん、C#/Xamarin, JavaScript/Cordova, C++/Android それぞれで利用できます。

ここでは、JavaScript/Cordova アプリのプロジェクトから Visual Studio Emulator for Android を起動してみましょう。
[ File ] ( [ ファイル ] ) メニューから [ New ] ( [ 新規作成 ] ) をポイントし、[ Project ] ( [ プロジェクト ] ) をクリックします。表示された New Project ( 新しいプロジェクト ) のダイアログ ボックス左側のツリーより、JavaScript、Apache Cordova Apps と選択すると " Blank App ( Appache Cordova ) " テンプレートが表示されます。適当に名前を付けてプロジェクトを作成しましょう。

プロジェクトの作成された後は、デバッグ ターゲットを " VS Emulator Android Phone " に変更し、実行します。Visual Studio Emulator for Android が起動されます。

他の IDE からの利用
残念ながら現在は エミュレータを上記以外の方法から"起動"する方法がありません。現状の一時的な回避策は、上記の手順でエミュレータを起動した後そのままの状態にしておくことです ( 起動の際に使用したプロジェクトは閉じてしまって構いません )。エミュレータが起動されていれば ADB ( Android Debug Bridge ) を通じて、他の IDE からも Visual Studio Emulator for Android をデバッグ ターゲットして利用できます。
Visual Studio Emulator for Android の機能
ここからは、Visual Studio Emulator for Android で現在提供されている、様々なエミュレータとしての機能をご紹介してきます。
ズーム
ズームボタンを押すと、エミュレータのサイズを変更できます。また、その上のボタンは、エミュレータのサイズを、画面のサイズに合わせる機能です。

画面の向き、ローテーション
ローテーションボタンを押すと、エミュレータが回転します。デバイスの向きに応じたデバッグにご利用ください。

ネットワーク情報
エミュレータはホストマシンのネットワークを利用するので、追加で必要な設定はありません。">>" ボタンを押すと " Additional Tools " ウィンドウが表示されます。その中の " Network " タブにて、エミュレータのネットワーク情報を確認できます。

位置情報 ( GPS )
" Location " タブでは、位置情報や移動のシミュレートを設定できます。シミュレートのモードは、
- Live: ピンを置くとすぐに、位置情報がエミュレータに送られる
- Pin: 一番右の再生ボタン ( Play all points ) を押すと、" Seconds per pin " で指定された間隔で、配置した各ピンの位置情報がエミュレータに送られる
- Route: 配置したピンからシミュレータが自動的にルートを計算し、一番右の再生ボタン ( Play all points ) を押すと、指定された速さで移動をシミュレートする
の 3つです。
Route モード時、選択できる速度は以下の 4つ。
- Speed Limit: ルートの制限速度
- Walking: 自然な歩行ペース ( 5km/時 )
- Biking: 自転車移動 ( 25 km/時 )
- Fast: 制限速度より高速
また、Accuracy profile として位置情報の精度を選択できます。
- Pinpoint: 完全に正確 ( 現実的ではないが、デバッグには便利 )
- Urban: 都市を想定。位置情報取得のための基地局や Wi-Fi アクセスポイントが高密度で存在する状態。
- Suburban: Urban と比較して Wi-Fi のアクセスポイントの密度は高くない
- Rural: 基地局の密度が低く、WiFi アクセスポイントはほとんどない

加速度
デバイスの動きに応じたアプリを開発する際は、このシミュレーション機能を利用しましょう。" Accelerometer "タブから利用できます。
Recorded data のプルダウンより " shake " を選択し " Play " を押すと、シェイクをシミュレートできます。

バッテリーのシミュレーション
Battery タブより、バッテリーの残量をシミュレートできます。

スクリーンショットを取る
スクリーンショットタブにて、エミュレータのスクリーンショットが撮れます。

ドラッグ&ドロップ
APK ファイルは、エミュレータ上にドラッグ&ドロップすることでインストール可能です。また、その他のファイルをドラッグ&ドロップすると、SD カードに保存されます。

SD カード
SD カードの読み書きもシミュレート可能です。エミュレータは、別途 SD カードサポートのための VHD を使っています。なので、SD カードにアクセスする場合は、この VHD を一旦停止した上で、Windows からマウントします。
ということで、SD カードにアクセスする手順は
- エミュレータを停止 ( 閉じる )
- SD カードの VHD を開く。デフォルトでは下記パスにあります。
C:\Users\%username%\AppData \Local\Microsoft\XDE\Android - エクスプローラで開くと自動的にマウントされて、ファイルが確認できる
- 再び エミュレータを使う際は、先にマウントした SD カードを " 取り出し " する ( 右クリック -> 取り出し )
という流れです。

カメラ
カメラを起動すると、テスト用のアニメーションが表示されます。これを用いてカメラでの写真撮影をシミュレートすることができます。

エミュレータの機能のいくつかは Windows Phone のエミュレータと同じです。Windows Phone エミュレータのドキュメントも合わせてご参照ください。
Visual Studio Emulator for Android の詳細
最後に Visual Studio Emulator for Android について、少々詳し目なトピックをご紹介します。
エミュレータの設定
現在サポートされている Android デバイスの設定は、
- Android phone, 5" screen, 720x1280, KitKat 4.4.2 API Level 19
- Android tablet, 7" screen, 1080x1920, KitKat 4.4.2 API Level 19
の 2つです。デバイスのメモリサイズやコア数は、Hyper-V Manager から変更することができます。

現状の制約
Visual Studio Emulator for Android は今後のアップデートでさらに進化していきますが、現状下記の制約があります。
- OpenGL ES 2+ は現在サポートされていません
- KitaKat API 19 以外のバージョンは追って公開予定です
- GMS パッケージがイメージに含まれていないため、Google Play Services と連携したアプリは動作しません
- エミュレータ上でアプリを動作させるには、x86 向けにコンパイルする必要があります
参考情報
Visual Studio Emulator for Android に関する情報は下記の記事、動画も合わせてご覧ください。
Visual Studio Emulator for Android
Introducing Visual Studio's Emulator for Android
Visual Studio Emulator for Android | Connect(); Microsoft Visual Studio vNext & Azure | Channel 9
このあとは
この記事では、Visual Studio Emulator for Android のインストール方法から各種機能、現状の制約等をご紹介しました。今後も新しい機能がリリースされ次第、アップデートをお知らせしていきます。
このあとはぜひ、iOS/Android アプリ開発にも対応した Visual Studio で、JavaScript/Cordova アプリや C#/Xamarin、C++/Android アプリ開発をお試しください。
Visual Studio 2015 Preview のダウンロード & インストール
Visual Studio Tools for Unity ( UnityVS ) で Unity 開発/デバッグの生産性を上げよう
こんにちは。
マイクロソフトの渡辺です。
Unity 開発/デバッグの生産性を上げる Visual Studio の拡張機能 「 Visual Studio Tools for Unity 」 ( UnityVS ) を、今日はご紹介します。
Visual Studio Tools for Unity は、Unity アプリを Visual Studio で開発&デバッグできるようにする拡張機能です。

マイクロソフトは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 、環境準備から使い方までを見ていきましょう。
- Visual Studio Tools for Unity 環境準備とインストール
- Unity デバッグを Visual Studio から行う
- Unity 開発者必見!Microsoft の開発者支援プログラム
※スライドでご覧になりたい方は下記
Visual Studio Tools for Unity 環境準備とインストール
まずは環境準備です。
Visual Studio Tools for Unity は無料の拡張機能です。ただし、拡張機能は Visual Studio Express ではインストールできませんので、Visual Studio Professional 以上のエディションが必要です。
ということで、必要な環境は、
- Unity ( 無料版でも可 )
- Visual Studio 2010/2012/2013 Professional 以上
( ※90日無償評価版あり )
となります。参考までに、誰でも!というわけではないのですが、Visual Studio Professional や Ultimate を無料で使う方法はこちら。
Visual Studio Professional や Ultimate を無料で利用する方法 - マイクロソフト エバンジェリストのブログ
※2014/11/13 更新
Visual Studio Professional 相当の無料エディション Visual Studio Community 2013 が公開されました
Visual Studio Tools for Unity は無料の拡張機能ですので、Visual Studio ギャラリーから簡単にインストールしていただけます。

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

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

ソリューションエクスプローラーからプロジェクトの中身を確認することもできますが、Unity Project Explore ( 表示されてない場合は、表示 > Unity Project Explore ) を使うと、Unity エディターと同じ階層表示でフォルダ/ファイルを表示することが出来ます。もちろん、スクリプトの新規作成、名前変更、削除等を直接行えます。
ブレークポイントの設定
ブレークポイントを設定してみましょう。
Enemy.cs の 83行目あたり、スコアを更新する部分にブレークポイントを置きます。
Part of Enemy.cs in 2D Platformer ( Unity )
シンプルにブレークポイントを置くだけでなく、ある条件の時だけ止まるように、条件付きブレークポイントを置くこともできます。当該箇所を右クリックすると "条件(C)..."というメニューがありますので、クリックしてください。すると、条件式を入力できるダイアログが表示されます。
例えば、
Condition statement in Unity debugging
というよう設定してみます。

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

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

また、Unity Console の内容は、Visual Studio のエラー出力に表示されます。なので、デバッグ中に Unity エディタと行ったり来たりする必要はありません。
Unity 開発を Visual Studio から行う
Visual Studio でのデバッグを体感した後は、コードも書いてみましょう。
Intellisense ( コード自動補完機能 ) をはじめとする様々な Visual Studio の機能を使うことが出来ます。

Unity 開発向けの機能としては
- MonoBehavior のコーディング支援
- Unity のドキュメント参照
があります。
MonoBehavior のコーディング支援
MonoBehavior の関数を簡単に素早く実装するサポート機能が2つあります。まず 1つ目は MonoBehavior ウィザードです。Ctrl + Shift + M でダイアログが表示されます。

表示された API から実装したものをチェックして OK を押すと、コードが挿入されます。なんとなくな関数名だけわかっている場合や Unity を学び始めの際は便利です。
また、より素早く Monobehavior 関数を実装する際は、Ctrl + Shift + Q で、クイック MonoBehavior を呼び出しましょう。

例えば、"OnMouseDown" であれば、"OMD" で呼び出せます。 いわゆるキャメルケースで大文字になっている文字を打っていけば関数が絞り込めるというわけです。
Unity のドキュメント参照
Unity のドキュメントは Visual Studio の中で直接参照することができます。仕様を確認したい関数を選択して、Ctrl+Alt+M, Ctrl+H とすると、当該のドキュメントが開きます。また、ヘルプ > Unity API Reference からもドキュメントを開くことができます。

ドキュメントを参照しながら、コードを書きたい際は、ぜひドラッグ & ドロップでのウィンドウ分割と合わせて利用すると便利です。
その他、Visual Studio Tools for Unity の機能については、UnityVS のドキュメントも合わせてご覧ください。
Unity 開発者必見!Microsoft の開発者支援プログラム
ここまで Unity でのアプリ開発に Visual Studio を使う流れをご紹介してきましたが、特に Unity 開発者の方々向けには Microsoft の開発者支援プログラムが諸々ありますので、合わせてご紹介します。
Unity ゲームを Windows ストアへリリース
まず、大前提として Windows ストアで配信できる ユニバーサル Windows アプリは、Unity でも開発できます。
Unity 4.5.3 よりユニバーサル Windows アプリのビルドに対応しています。Windows Phone ストアおよび タブレット/PC 向けの Windows ストア双方で配信できるアプリを作ることができますので、ぜひ開発中のアプリやお手持ちの Unity アプリを Windows 向けにもリリースしましょう!Unity での Windows アプリ開発や移植情報は「 Unity で作る Windows ストア アプリ 」をご覧ください。

開発端末や Asset Store のバウチャーがもらえる!?
Unity アプリを Windows ストア向けにもリリースしてみようかなという方向けの支援プログラムその1が 「 Windows Unity Developer Offer 」です。
こちら Level 1, 2 と段階があり、それぞれ指定された条件をクリアすると、開発端末やアセットストア、マイクロソフトストアのバウチャー、アプリの宣伝支援等をゲットすることができます。
既存タイトルのポーティングでも OK なので、ぜひご活用ください。
開発やデザインの相談も出来る!?
Windows ストアへのアプリリリースにご興味を持っていただいた方向けの特典その2は「 Dev Center Benefits 」です。
先にご紹介した Windows Unity Developer Offer と似たようなところがありますが、開発者登録の無料トークンがもらえたり、技術/デザインに関する相談もすることができます。
特典の内容は Explore, Expert, Master と3段階に分かれており、条件をクリアしていくと、より手厚いプロモーション支援等を受けることが出来ます。
こちらもぜひご活用ください!
※10/23 日本語ガイドを公開しました!
開発者支援プログラム Dev Center ベネフィットの日本語ガイドを公開 - Yuta Watanabe's Blog
Prime 31 プラグインを無償提供!
アプリ内課金をはじめとしたプラットフォーム固有の機能を実装する時に便利な Prime 31 プラグイン。Windows ストア向けには多くが無償提供されています。
Unity アプリをポーティングするだけでなく、Windows ストア固有の機能を実装してみよう!という時は、ぜひこちらのプラグインをご活用いただければと思います。
その他の移植 Tips 等は 「 Unity で作る Windows ストア アプリ 」をご覧ください。
このあとは
今回は、Unity 開発/デバッグの生産性を上げる Visual Studio の拡張機能 「 Visual Studio Tools for Unity 」 ( UnityVS ) の使い方をご紹介しました。
まずは、Visual Studio Tools for Unity を使って、Unity 開発の生産性を高めてください。そして、ぜひユニバーサル Windows アプリにもビルドして、Windows ストアへアプリをリリースしましょう!その際は、ぜひご紹介した Microsoft の開発者支援プログラムを最大限ご活用ください!!
※今回ご紹介したリソース
- Visual Studio のダウンロード
- Visual Studio Professional や Ultimate を無料で使う方法
- Visual Studio Tools for Unity のダウンロード ( 2010 / 2012 / 2013 )
- UnityVS ドキュメント
- 2D Platformer ( Unity Asset Store Sample )
- Windows ストア
- ユニバーサル Windows アプリの開発
- Unity で作る Windows ストア アプリ
- Windows Unity Developer Offer
- Dev Center Benefits
コードの構造を視覚的に把握 Code Map
こんにちは。
マイクロソフトの渡辺です。
先日リリースされた、Visual Studio 2013 Update 3 。強化された様々な機能の中で、今日は Code Map をご紹介します。
Code Map はコードの中身を分析して、その構造を視覚的に表示する機能です。大規模なコードや初めて見るコードの理解を助けてくれること間違いなし。Visual Studio 2013 Update 3 では、要素間のリンクに色分けが追加される等、Code Map も進化しています。
使い方は簡単で、プロジェクトやソリューションを右クリックし、「コードマップに表示」を選択。

するとルートとなる要素が表示され、それをクリックして展開していくことで、下記のようにコードの全体像を把握できるわけです。

レイアウトは自動調整もしてくれますし、いくつかのパターンが用意されていますので、選択すると各ノードの表示位置が修正されます。

要素を展開して構造を把握していく他にも、いくつかアナライザーを利用することができます。循環参照や未参照ノードを発見するのもクリック1つで行えます。

その他、要素を右クリックすると、それが定義されているコードに移動したりすることが出来る等、様々な分析/確認をこの Code Map から行っていくことができます。

Code Map を使うには、次のエディションのいずれかが必要です。
- Visual Studio Ultimate 2013 (コード エディターまたはソリューション エクスプローラーからコード マップを作成するために必要)
- Visual Studio Premium 2013 または Visual Studio Professional 2013 (コード マップを開くため、制限のある編集を行うため、およびコード内を移動するために必要)
Code Map のより詳しい使い方はこちらから。その他にも様々な機能が追加/強化された Visual Studio 2013 Update 3 、ぜひお試しください!



