2015年2月24日、「日本Androidの会 Unity部」の主催による「Visual Studio Tools for Unity」の勉強会が開催された。日本マイクロソフトのエバンジェリストによるVSTUの紹介やQ&Aに加え、UnityやVisual Studioを使いこなすプロのゲーム開発者によるライトニングトークも行われ、盛り上がりを見せた。
マイクロソフトが提供する「Visual Studio Tools for Unity」(以下、VSTU)は、統合開発環境「Visual Studio」が持つ開発生産性向上のための各種の機能を、「Unity」によるゲーム開発に活用するためのアドオンだ。
VSTUは以前、「Unity VS」という名称で、SyntaxTreeという企業が開発を行っていた。同社は、2014年8月にマイクロソフトによって買収されており、今後、VSTUは公式の機能拡張としてVisual Studioとの統合をより強めていく方針が明らかにされている。
また、Unity VSではC#だけではなくJavaScriptにも対応していたが、マイクロソフトの製品になったことで、JavaScript対応は行わず、C#開発に特化した形で機能を強化していく方針になったという。
Unity自体にもエディターを含む統合開発環境は用意されているが、あえてVSTUを使ってUnity開発にVisual Studioを利用するメリットは何なのだろうか。また、VSTUを使う上で知っておくと、さらに開発が便利になる「小テク」には、どんなものがあるのだろうか。
これらをテーマにした「【聞いてみよう!】Visual Studio Tools for Unity勉強会【使わないともったいない!?】」が、去る2月24日に開催された。主催は「日本Androidの会 Unity部」で、勉強会には日ごろUnityを活用している開発者が多く詰め掛けた。コミュニティ主催の勉強会らしく、実際の利用場面に即した内容の濃い質疑応答や意見交換、ライトニングトークが繰り広げられた。
最初のスピーカーとして登壇したのは、日本マイクロソフト デベロッパーエクスペリエンス&エバンジェリズム統括本部テクニカルエバンジェリストの大西彰氏だ。
今回の勉強会は「Unity」と「Visual Studio」の連携がメインテーマだ。両者を組み合わせて使うことで開発生産性を高めることができるVSTUについて、大西氏は「地味だが派手なツール」であると評した。これは「実現している機能の一つ一つは“地味”に見えるかもしれないが、それらによってUnity開発者の生産性は“派手”に上がる」という意図だ。
VSTUは、マイクロソフトのWebサイトから無料でダウンロードできる。Visual Studioの各バージョン別に提供されており、「Professional」以上のエディションで利用できる。また、無料の「Community」版でも利用できる点は大きなポイントだ(法人の場合は一部条件あり)。同サイトでは、VSTUのインストール方法や利用方法の詳細について解説したドキュメントも用意されている。
大西氏は、実際に「Unity」と「Visual Studio」をVSTUで統合した環境を利用し、そこで提供される主な機能について、一つずつ紹介していった。
例えばVSTUには、Visual Studioエクスプローラー内でのプロジェクト表示順をUnity環境での表示順に合わせることができる「Unity Project Explorer」や、各種のショートカットキーなどが用意されている。これらを最大限に使いこなすことで、Unityでの作業効率を大幅に高められるという。
VSTUは、標準的なUnityのエディター環境だけではなく、Unity PlayerやUnity Web Playerに対してもVisual Studioを接続できる。大西氏は「VSTUを利用するようになって、Unity標準エディターでのデバッグの苦しみから解放されたという意見が多くてうれしい」と話す。
VSTUを使うと、Unityの環境で動いているプログラムに対して、ブレークポイントを設定し、そこで自動的にVisual Studioのエディター環境を起動できるようになる。コードの色分け、F10キーによるステップ実行、「ウォッチ ウィンドウ」「イミディエイト ウィンドウ」による変数値の参照など、Visual Studioが持つ豊富なデバッグ機能を利用できる。
また「条件付きのブレークポイント」を設定できるのも「地味だが派手」なVSTUのメリットの一つだ。エディター上で設定したブレークポイントに対し、条件となる式を設定しておく。すると、Unity上で動いているプログラムの内部で条件として設定した式が成立したときだけ、ブレークが掛かるという仕組みだ。
「VSTUに慣れてくると、単純なブレークポイントでいちいち実行を止めるのが面倒になってきます。条件付きブレークポイントを使うと、特に重点的にデバッグしたい内部状態を条件として設定し、そこで実行を止めることができるようになります」(大西氏)
Unityでは、主に「MonoBehaviour」のサブクラスをC#で実装しながら開発作業を進めていく。MonoBehaviourが提供しているAPIは多岐にわたり、日常的にUnityでの開発を行っている人であっても、その全てを正確に記憶しておくのは無理だ。VSTUでは、このMonoBehaviourのコーディングを大幅に便利にする支援機能が利用できる。
VSTUの「Implement MonoBehaviours」機能を利用すると、記述したいメソッド名の一部から、正確なメソッド名を選択し、エディター内にひな型となるコードを呼び出すことができる。開発者は、ひな型の中に必要な処理を記述するだけでいい。
MonoBehaviourの豊富なAPIを使いこなすに当たって便利なVSTUの機能が「Quick MonoBehaviours」だ。強力なコードの補完機能となっており、うろ覚えのメソッド名の一部などから、目的のものへ「推測変換」してくれる。
例えばデモでは「omd」という3文字の文字列から、候補として「OnMouseDown()」メソッドが提示されていた。
また、Visual Studioの「Intellisence」技術によって、処理の記述中にコードの補完やタイプミスの指摘などのサポートが行われる。C#では大文字と小文字が厳密に区別されるため、記述中にうっかりそれらを混同してしまうといったミスも発生しがちだ。これらの支援機能により、よりケアレスミスの少ないコーディングが行える。
MonoBehaviourの豊富なAPIを使いこなすための機能がもう一つある。コード上に登場するクラスを見て、その詳しい仕様を知りたい場合、普通はそのクラスをコピーして、外部のブラウザーの検索窓に張り付けて……という作業を行うことになるだろう。その結果、そこから他のサイトにジャンプするなどして、いろいろなサイトを見ているうちに、自分が何を調べていたのか忘れてしまうことがある。
「VSTUでは、Visual Studio内で参照できるUnity APIのリファレンスを用意しており、そこですぐにAPIの詳細を確認できます。UnityとVisual Studioの環境内で集中して作業を進められるので、効率が上がるはずです」(大西氏)
Copyright © ITmedia, Inc. All Rights Reserved.