Yuta Watanabe's Blog

開発周りと、その他諸々

Unity で Windows アプリをビルドしてみよう

こんにちは。

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

「 Unity 開発者のための Windows ストア概要 」に続き前回は「 Unity で Windows アプリを開発する環境を整える 」ということで、Unity で Windows アプリをビルドするのに必要な環境を確認しました。

今回は、Unity Asset Store でダウンロードできるサンプルを利用して、実際に Windows アプリをビルドする流れをご紹介していきます。

準備

この記事では、Unity Asset Store で提供されているサンプル「 2D Platformer 」を例に、Windows アプリをビルド/デバッグしてみます。

f:id:yuwata:20141021155139p:plain

まずは、準備として 2D Platformer を Asset Store からダウンロードし、インポートしてください。

f:id:yuwata:20141021155238p:plain

f:id:yuwata:20141021155312p:plain

Unity でビルドできる Windows アプリの種類

Unity からビルドできる Windows アプリには次の 4つがあります。これらは、Windows ストア アプリの Build Setting の " SDK "のプルダウンから選択できます。

  • 8.0 ( Windows 8 の ランタイムで動く Windows ストア アプリ )
  • 8.1 ( Windows 8.1 のランタイムで動く Windows ストア アプリ )
  • Phone 8.1 ( Windows Phone ストア で公開するアプリ )
  • Universal ( 1つのソリューションで、Windows 8.1 ストア アプリ & Windows Phone 8.1 アプリの両方をターゲットとすることができる ユニバーサル Windows  アプリ )

f:id:yuwata:20141021121612p:plain

Windows 8.1 および Windows Phone 8.1 へのアップグレードが順調に進んでいることを見ると ( 参考:「Windows & Windows Phone ストア アプリ ダウンロード数トレンド ( 2014年9月 ) 」)、今あえて 8.0 アプリとしてビルドする理由はほぼありません。

f:id:yuwata:20140929131439j:plain

Windows 8.1 および Windows Phone 8.1 向けのストア アプリは、それぞれ別々にビルドすることもできます。

また、ユニバーサル Windows アプリとしてビルドすると、1つのソリューション内で共通コードを共有し、Windows 8.1 ストア アプリ、Windows Phone 8.1 ストア アプリの両方をターゲットしてビルドすることが出来ます。Windows 10 の発表でも言及されている通り、ユニバーサル Windows アプリの基盤は Windows 10 へと引き継がれます。より多くのユーザにリーチしながら、Windows 10 に備える最良の方法は、ユニバーサル Windows アプリの開発です

また、Type として、XAML C# Solution と XAML C++ Solution を選択できます。特に C++ で書きたい!というわけでなければ、C# Solution を選びましょう ( C++ ソリューションには対応していないプラグインもあるので注意 )。

Windows アプリをビルド

ではいよいよ、Unity から Windows アプリをビルドしてみます。

File > Build Setting を開き、Windows Store にプラットフォームをスイッチ。

  • Type:XAML C# Solution
  • SDK:Universal 8.1
  • Build and Run on:Local Machine
  • Unity C# Projects:チェック
  • Development Build:チェック

という設定で、Build ボタンを押します。保存先を聞かれますので指定しましょう。ここでは、Builds フォルダを作成し、その下に Universal フォルダを作り保存することにしました。

f:id:yuwata:20141021160437p:plain

ビルドが進んで、

f:id:yuwata:20141021160258p:plain

完了すると、Visual Studio のソリューションが生成されます。

f:id:yuwata:20141021160541p:plain

Visual Studio でソリューションを開く

生成されたソリューションをダブルクリックして、開いてみます。まずはソリューションエクスプローラーからソリューションの中身を見ていきましょう。

f:id:yuwata:20141021160848p:plain

今回は、Build Settings にて SDK を Universal としたので、ユニバーサル Windows アプリが生成されています。

1つのソリューションの中に、

  • Windows ストア アプリをターゲットとするプロジェクト ( _2D v3.Windows (Windows8.1) )
  • Windows Phone アプリをターゲットとするプロジェクト ( _2D v3.WindowsPhone (Windows Phone8.1) )
  • 共有コードである Shared Project ( _2D v3.Shared )

の 3つが含まれているのが分かります。

※参考「 Windows と Windows Phone を対象とするユニバーサル Windows アプリの構築

Package.appxmanifest ( アプリの設定をするマニフェストファイル ) や、各種素材等のプラットフォーム固有ファイルは、Shared Project ではなく、それぞれのプロジェクトに含まれます。

Build Settings にで SDK を " 8.1 " または " Phone8.1 " とした場合は、Shared Project がなくなり、Windows 8.1 のプロジェクトまたは Windows Phone 8.1 のプロジェクトのいずれかがソリューション内に含まれる形となります。

Windows ストア アプリを実行してみる

さて、さっそくですが Windows ストア アプリを実行してみましょう。

まずご確認いただきたいのが、構成マネージャーです。

f:id:yuwata:20141021161619p:plain

Unity でのビルドで生成されたソリューションは、デフォルトで ARM がアクティブソリューション プラットフォームが指定されています。x86 マシンでデバッグする場合は、こちらを x86 に変更する必要がありますのでお忘れなく。

f:id:yuwata:20141021162035p:plain

構成マネージャーでの設定変更を行った後は、さっそくデバッグ ボタン ( または F5 ) を押して実行してみましょう。すると、ビルド & アプリの配置と進み、アプリが起動してきます。

f:id:yuwata:20141021162451p:plain

ちなみに、デフォルトではローカルコンピューターでのデバッグが選択されていますが、シミュレータでデバッグすることもできます。

f:id:yuwata:20141021161640p:plain

タッチ操作やセンサーの値等のシミュレート、画面のキャプチャー等を行う際はこちらをご利用ください。

f:id:yuwata:20141021162629p:plain

Windows Phone アプリを実行してみる

続いて Windows Phone アプリも実行してみます。

Windows Phone 8.1 のプロジェクトを右クリックして、" スタートアップ プロジェクトに設定 "を選びます。ソリューションエクスプローラー内で太字表示されているプロジェクトが、現在のスタートアップ プロジェクトです。

f:id:yuwata:20141021162940p:plain

Windows ストア アプリの実行時と同様にエミュレータで実行することができます。既定では Device ( 実機 ) が選択されている場合があるので、エミュレータを選択しましょう。

f:id:yuwata:20141021162927p:plain

あとの流れは、Windows ストア アプリの時と同じです。Unity アプリが立ち上がり、

f:id:yuwata:20141021163311p:plain

ゲームが始まります!!

f:id:yuwata:20141021163319p:plain

このあとは

今回は、Unity から Windows アプリをビルドし、Visual Studio で実行するまでの流れをご覧いただきました。次回は、もう少し詳しく、ビルドで生成されたソリューションの中身やデバッグの流れについてご紹介していきます。

関連リソース


Unity 開発者のための Windows ストア概要 - Yuta Watanabe's Blog


Unity で Windows アプリを開発する環境を整える - Yuta Watanabe's Blog