UnityではじめるOculus Go VRアプリ開発 (Mac OS) 

## はじめに
Oculus Goが届いたので　早速VRアプリを作ってみたいと思います。
開発環境としてUnityかUE4で迷いましたが、Unity2018のグラフィックが格段に進化していたのと、自分はプログラムが多少できるのでUnityを選択しました。この記事ではMac OS環境下でのUnityのセットアップ手順からOculusGoでの確認方法までを説明します。
これからOculus Goでアプリを開発してみたい方の手助けになれば幸いです。

## 環境
- Unity 2018.1.0f2
- Oculus Go 64bit
- Mac OS 10.13.3

## Oculus Goセットアップ
はじめにOculus Goの設定をしていきます。

### developer登録
まずはOculus Goのdeveloper登録をします。
以下のリンクから新しい団体を任意の名前で登録しておきましょう。
https://dashboard.oculus.com/organization/create

<img width="1204" alt="スクリーンショット 2018-05-28 0.47.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/0f3bc55b-5990-cc30-6dc1-fb9176c7c6da.png">

### Oculus Goを開発者モードにする
すでにOculus Goで一度でも遊んだ方は自分のモバイル端末内にOculus Goのアプリが入っていると思うので、そのアプリを開きます。そして以下のフローで開発者モードをONに切り替えます。

`設定 > Oculus Go端末情報メニュー > その他の設定 > 開発者モード > ON`

これでOculus Goの設定は一旦終了です。

## Unityセットアップ
次にUnity側をセットアップしていきます。

### JDK/SDKのインストール
Oculus GoのOSはAndroid N(7.1.2)ベースで動作するので、Androidアプリ開発同様にJDKとAndroid SDKのインストールが必要となります。
まだインストールしていない方は以下をMacにインストールしておきましょう。

**JDK** 
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(私はJDK 8をインストールしています)

**AndroidSDK**
https://developer.android.com/studio/?hl=ja

### プラットフォームの切り替え
File > Build Settingsを開きます。
Platformで、**Android**を選択し、Switch Platformボタンを押下して確定させます。
<img width="632" alt="スクリーンショット 2018-05-27 23.52.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/a33f8108-cac9-52ed-89b6-c946abc06892.png">

### Player Settingsの変更
次に隣のPlayer Settingsを押下してください。Player Settingsのインスペクターが開いたら、Other Settingsを開き、IdentificationのPackageNameを確認します。
ここが「defaultCompany」のままだとビルド時に怒られるので、`com.{CompanyName}.{ProductName}` のように変更しておいてください。
また、Oculus Goで開発する場合、Minimum API Levelは19以降なので、それ以下の場合はこちらも19に変更しておきましょう。

<img width="337" alt="スクリーンショット 2018-05-28 0.05.41.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/89ac3dd6-6f0d-fece-b419-4973aa76fa42.png">

### XR Settingsの変更
次にXR Settingsを開きます。Virtual Reality Supportedというチェックボックスがあるので、迷わずチェックします。するとSDK選択パネルが現れるので、+ボタンからOculusを選択しておきます。
<img width="354" alt="スクリーンショット 2018-05-28 0.01.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/da83406b-9992-c2b7-f832-97d4bbca1ad7.png">

### JDK/SDKパスの確認
Unity > Preferences > External Toolsを開いて、JDKおよびAndroid SDKがさきほどインストールしたパスを正しく参照しているか確認してください。
<img width="538" alt="スクリーンショット 2018-05-28 0.07.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/3605002e-8a57-210f-9134-73ddcf9152df.png">

以上でUnity側の設定は終わりです。

## ビルドしてみる

### Oculus GoをPCに接続
USBケーブルでPCとOculus Goを接続します。
接続するとOculus Go側で許可を求める確認画面がでるので許可しておきます。
PC側では `adb devices` コマンドでちゃんと認識されているか確認しましょう。
<img width="208" alt="スクリーンショット 2018-05-28 1.17.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/fa590062-8531-c1f3-fafe-f4ef0e7b5c65.png">

ここがうまくいってないと、こんなエラーでます
<img width="424" alt="スクリーンショット 2018-05-27 20.48.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/c8964b58-82eb-8060-d401-37db0413c848.png">

### ビルド
では試しにCubeを一つ置いてBuild and Runしてみます。
<img width="682" alt="スクリーンショット 2018-05-28 1.12.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/73643/143bc610-e7d8-fc71-6984-a1999e20264d.png">

すると・・・
![Untitled2.gif](https://qiita-image-store.s3.amazonaws.com/0/73643/dcfb5a87-cda2-2af4-60d5-5b05648016cb.gif)

すごくわかりづらいですが、Oculus Goから見ることができました。

Oculus Goには可能性しか感じないので、これからが楽しみです。
また何か題材見つけて記事にしたいと思います。