[XBOX ONE] Xbox Live Creators Programの環境構築

Xbox Live Creators Programがスタートしたので、XBOX ONEを買って実際に試してみました。

これはXBOX 360にあったXbox Live Indie Games(XBLIG)やPS VITAにあったPlayStation Mobile(PSM)のように、初回登録費を払えば誰でもゲームの販売ができる仕組みです。

しかし、XBOX ONEの実機で動かせるようにするまでにはかなり苦労しました。
MS公式の解説を見ただけではいくつものハマリポイントがありますので、その辺の注意点をざっくりと説明したいと思います。


■ホストOSはWindows 10が必須

最初にWindows 7で試してみましたが、UWPアプリのビルド(クロス開発)はできるもののXBOX ONEへの配置ができませんでした。

Windows 10 Pro Creators Update(1703 / 15063.540)では問題なく配置・実行ができます。

Visual Studio単体で開発するならWindows 7ではXAML画面のデザイナが使えませんし、Unity5での開発ではWindows 7ではBuildボタンがグレーアウトして押せません。
このことからもやはりWindows 10を使わざるを得ないでしょう。

Windows 10にはXbox Dev Mode CompanionというXBOX ONEの画面をストリーミング表示してくれるアプリも用意されていて便利です。


■Visual Studioは2015が無難?

公式には「Visual Studio 2015以降」となっているので2017でも問題なさそうですが、2015から2017ではかなり大きな変更があるので、MSの解説記事と一致せず迷うことも少なくありません。

2017で始めて、もしうまくいかなかった場合に、それが2017が原因なのかプロジェクトの問題なのかがはっきりしないと困ります。

そのため、まず実際に動かせることを確認するまでは2015を使用した方が無難です。
2015で正常動作したなら、それを2017で動かしてみるといいでしょう。


■Windows SDKのバージョンに注意

Visual Studio 2015ではUWP SDK バージョン 10.0.14393(Anniversary Edition)までしかビルドできません。

ターゲットバージョンが15063(Creators Update)ではVisual Studio 2017が必須となり、2015ではプロジェクトを開くことすらできません。

UnityではBuild SettingsのUWP SDKを”Latest Installed”ではなく、”10.0.14393.0″を指定してからBuildすると大丈夫でしょう。


■Visual Studio 2015単体で開発する場合

MS公式の解説ではNuGetでMicrosoft.NETCore.UniversalWindowsPlatformをインストールするように書かれていますが、そのまま最新版(現時点で5.4.0)をインストールしてしまうとVS 2015ではビルドできません。

2015では5.2.3までしか対応していないようです。
バージョンを選択してからインストールしましょう。

Unityの場合は自動的に5.0.0を指定してくれるようなので、気にする必要はありません。


■Unityは5.5で

公式には「Unity 5.5以降」と書かれていますが、5.6では駄目です。

5.6ではUnity Pluginをインストールしても、この画面のようなXbox Liveメニューが追加されません。

5.5.1(Patch 4)ではちゃんとXbox Liveメニューが追加されました。
5.5系であれば大丈夫だとは思いますが、公式のスクリーンショットでは5.5.1が使われていたので、それに合わせておけば確実かもしれません。


■UnityのBuild Settingsの”UWP Build Type”の違い

“XAML”にすると、いわゆる”UWPアプリ”扱いとなり、左スティックでマウスカーソルを移動し、Aボタンで左クリックという操作になります。
PCのマウス操作やスマホ・タブレット等のタッチデバイスとのマルチプラットフォーム向けです。

“D3D”にすると一般的なゲームコントローラーの操作になり、カーソルが表示されません。
パッドやジョイスティック専用のゲームならこちらですね。


■Windows Storeのアプリ名の予約とXbox Liveサービス

新規プロジェクトを作成する際にWindows Dev Centerでアプリ名の予約を行いますが、ただ予約しただけではMS公式の解説にあるような”Services/Xbox Live”の項目は出現しません。

この項目がなければXbox Live Creators Programを有効にすることができず、XBOX ONE実機で動かすために必要な登録情報も得られません。

そこでまずは、Dev Centerでアプリの詳細を開いてSubmissionを開始しましょう。
Submissionは本来、ストア提出に使うものですが、提出ボタンを押さなければ勝手に販売されることはありません。

Submissionを作成したらPropatiesでカテゴリを”Games”に設定します。サブカテゴリはここでは不要です。
“Games”にしたらSave(保存)ボタンを押して終了しましょう。他の項目は変える必要はありません。

ここで一度ダッシュボードのトップに戻ります。アプリの一覧が表示される画面です。

戻ったらもう一度アプリの詳細を開きましょう。
Servicesを開くとXbox Liveの項目が追加されているはずです。

あとはMS公式の解説通りの手順で大丈夫です。


とりあえずこれくらいのことに気を付けておけば、XBOX ONE実機で動かすところまでは進められるかと思います。

この先にもXbox Liveの機能を使ったり規約にあわせたりと、いくつものハマリポイントがありそうですが、それはまたの機会に。