UnityでOculus GOのアプリを開発してストアに公開する　～開発の基礎からストア公開編～

[前回の記事](https://qiita.com/Yawarakko/items/36911f7112ccc19d9e2b)の続きです。

#環境
Windows10
Unity 2018.1.0f2

#開発
開発の基礎と言っても、通常の開発とほとんど変わらないです。カメラが頭の動きについてくるのと、コントローラがちょっと特殊なくらいですね。
コントローラの取得ができれば普通にゲーム作れてしまいます。
では、コントローラ取得を一部紹介します。

``` C#
// 後ろのトリガーの取得
OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger)     // 押しているかどうか
OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger) // 押した瞬間
OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger)   // 離した瞬間

// タッチパッドの座標取得
Vector2 pos = OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad);

// タッチパッドのクリックの取得
OVRInput.Get(OVRInput.Button.One)                     // 押しているかどうか
OVRInput.GetDown(OVRInput.Button.One)                 // 押した瞬間
OVRInput.GetUp(OVRInput.Button.One)                   // 離した瞬間

// タッチパッドのタッチの取得
OVRInput.Get(OVRInput.Touch.One)                      // 押しているかどうか
OVRInput.GetDown(OVRInput.Touch.One)                  // 押した瞬間
OVRInput.GetUp(OVRInput.Touch.One)                    // 離した瞬間

// 現在使用しているコントローラの取得
var currentController = OVRInput.GetActiveController();

// コントローラの回転速度
Vector3 vel = OVRInput.GetLocalControllerAngularVelocity(currentController); // さっき取得したコントローラを使用する。
```

だいたいこんな感じです。
~~正直もっとくわしく書かれている方もいるのでそちらを見てください~~
後は思う存分ゲーム作っちゃってください。

#アプリ登録
まずはアプリの登録を行います。[developersサイト](https://developer.oculus.com/)の左側のメニューからManageタブを選択、前回作成した団体を選択してください。
マイアプリから新しいアプリを作成を選択
![bandicam 2018-08-28 00-30-32-691.jpg](https://qiita-image-store.s3.amazonaws.com/0/167483/8e3a7086-3e47-2a19-4891-60bc16f0e30f.jpeg)
Select Application PlatformでOculus Go & GearVRを選択してください。アプリの名前を記入してください。アプリ名には「VR」や「Oculus」などのワードが使えないようです。
![bandicam 2018-08-28 00-30-45-379.jpg](https://qiita-image-store.s3.amazonaws.com/0/167483/ea4c468f-ac8e-8495-fdd4-a9d872fad908.jpeg)

#リリースビルドの作成
- まずはマニフェストの作成を行います。
Tool/Oculus/Create store-compatible AndroidManifest.xml
を選択。Assets/Plugins/Android/にマニフェストが作成されます。
マニフェストが作成されましたらいくつか追加しなくてはいけない項目があります。

``` xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    この部分を追加。それぞれOther SettingのIdentificationの項目の内容を記載してください。
    package="packageName"
    android:versionCode="Version"
    android:versionName="Bandle Version Code"
    最後の項目はautoで。
    android:installLocation="auto"
  >
    <application>
        <activity
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
            android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode"
            android:launchMode="singleTask"
            android:name="com.unity3d.player.UnityPlayerActivity"
            android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.INFO"/>
            </intent-filter>
        </activity>
        <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false" />
    </application>
</manifest>
```
![unity_5.png](https://qiita-image-store.s3.amazonaws.com/0/167483/7f9bbc96-58f1-b574-ef4f-1d9e2d952ba9.png)

- 次にKeyStoreを作成します。Player SettingのPublishing SettingsからKeyStoreを作成します。
    - Create a new keystoreにチェックを入れます。Browse Keystoreを選択しKeystoreの保存先を選択。
    - Keystore passwordとConfirm keystore passwordにパスワードを入力。
    - Aliasのタブを開きCreate a new keyを選択します。
<br>![unity_6.png](https://qiita-image-store.s3.amazonaws.com/0/167483/7ac1ab1a-7348-66e8-95bf-6a848de1c883.png)
    - Alias:keystoreの名前
    - PasswordとConfirm:パスワード
    - Validity:有効年数（特に理由がなければ50でよいです）
    - First and Last Name:氏名
    - Organization Unit:部署名（個人なら空白）
    - Organization:企業名
    - City or Locality:所在地
    - State or Province:市区町村名
    - Country Code:国のコードを入力（jpでOK）
<br>![unity_7.png](https://qiita-image-store.s3.amazonaws.com/0/167483/9e3dda7a-9d4a-2105-e34e-bf7ea45ce87a.png)

keystoreが作成できましたら、ビルドしてください。

#ビルドのアップロード
[developersサイト](https://developer.oculus.com/)のメニューから先ほど登録したアプリのビルドを管理を選択。現在作成中のゲームはまだまだ未完成なので、今回はALPHAにアップロードします。新しいバイナリをALPHAにアップロードを選択します。
<br>![unity_8.png](https://qiita-image-store.s3.amazonaws.com/0/167483/235884df-8ab1-f8ac-fa63-0372cfb33ace.png)
ファイルを選択をクリックし先ほど作成したapkを選択。アップロードします。keystoreの作成でミスをしていなければ、アップロードが完了するはずです。

---

STOREにアップロードすることでストアに公開することができます。
また、人の形に＋のアイコンをクリックするとテストユーザを追加できるようです。

現在開発中のゲームが公開できるレベルになりましたらまた報告させていただきます。
FPSの条件など審査がかなり厳しいようなのでしっかり作っていきます。
ここまで読んでいただきありがとうございました。間違いや指摘点がありましたらコメントか、ツイッターのほうで教えていただけると幸いです。