【＃1】Unreal Engine 4.27 で Meta Quest 2（Android）向けに開発する【環境構築編】

# はじめに
UE4.27でMetaQuest2の開発をしようとした際にパッケージ化が上手くできず、自分なりに試行錯誤した際の備忘録。

# 使用環境
windows 10/11
Unreal Engine4.27.2
Visual Studio 2022
Android Studio Chipmunk | 2021.2.1 https://developer.android.com/studio?hl=ja
Android NDK r21e https://github.com/android/ndk/wiki/Unsupported-Downloads

# 各環境のインストール項目

## Visual Studio 2022
Visual Studio Installerで下記のワークロードとコンポーネントをインストールする。
**◆ワークロード**
・.NETによるモバイル開発
・C++によるモバイル開発
・C++によるゲーム開発
**◆個別のコンポーネント**
・.NET Core 3.1 ランタイム（LTS）
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/3b978a71-f522-2d17-d2e6-ea2666d5946a.png)


## Android Studio
Android Studioインストール後、SDK Managerを選択。
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/035fef19-a53d-17d1-b53b-edc82ef71bd8.png)

SDK Platformsを選択し、Android SDK Platform 29にチェックを入れる。
![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/e2b7d1ff-61b3-142e-2a02-a0c3f9c08bca.png)

SDK Toolsを選択し、下記にチェックを入れる。
・Android SDK Build-Tools 33
・NDK 21.4.7075529
・Android SDK Command-line Tools(latest)
・CMake 3.10.2.4988404
・Android Emulator
・Android SDK Platform-Tools
![4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/e020f656-64b0-fad5-579f-a2b560ce074c.png)
![5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/65b23e56-a83e-79a3-0d5b-dbf0df377f69.png)
![6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/f7905e7c-4a64-3692-add2-417bcda0f171.png)
すべて選択し終えたらApplyを選択。

# UnrealEngine4.27の設定
## プラグイン
設定＞プラグインよりプラグインを開く。
「Oculus」と検索し、Oculus VRを有効にする。
Oculus VR 以外が有効になっていた場合はチェックを外し無効にする。
![12PNG.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/197cad4d-194d-1f67-dfaf-69dcd3d96530.png)
## プロジェクト設定
設定＞プロジェクト設定よりプロジェクト設定を開く。
### プラットフォーム＞Android
Android Platform/Google Playで「今すぐ設定」を選択する。
![7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/b1e2d066-d211-34ee-5c90-6c079bc28bcc.png)
![8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/ba00673f-0ed3-9b6e-e1f7-dca687816254.png)
APKのパッケージ化の最低限のSDKバージョンとターゲットSDKバージョンを「29」に変更。
![9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/64540467-a121-cc11-eb96-7c85db0b7c78.png)
高度なパッケージ化のOculusモバイルデバイス向けのパッケージにOculus Quest2を追加する。
配布APKからOculus署名ファイルを削除にチェックを入れる。
![10PNG.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/c3b91e54-3fe5-4a83-782b-1d4f1e007a0b.png)

### プラットフォーム＞Android SDK
NDK,SDK,jdkの各パスを入力する。

SDKはパスを変更せずにAndroid studioをインストールした場合は、
`C:\Users\（ユーザー名）\AppData\Local\Android\Sdk`
にあるはず。

NDKは仕様環境でインストールしたr21eフォルダを指定する。

jdkはパスを変更せずにAndroid studioをインストールした場合は、
`Program Files/Android/jdk/jdk-(バージョン名)-hotspot/jdk(バージョン名)/jre`
にあるはず。

SDK/NDK API Levelは「latest」に変更。
![11PNG.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/5da31763-93b6-3130-511e-fb77e20f71a6.png)

### プライグイン＞OculusVR
General Oculusより、Oculusパフォーマンスウィンドウを起動を選択。
![13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/d27bb3fe-3b5f-b3fe-7dc8-f36a9edd94bd.png)
ターゲットプラットフォームを「Mobile」に変更する。
その際色々出てくるがすべて有効化してから「更新」を選択。
![14.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702231/df5f2b93-0abc-d810-dbdd-7486e71509f2.png)

# パッケージ化
設定が完了したら下記の方法でパッケージ化が可能。
**1. ファイル＞プロジェクトをパッケージ化＞Android＞Android（ASTC）**
**2. デバイス起動時のオプション＞Quest_2(シリアルナンバー)＞OculusQuest上でアプリが起動したのを確認後、そのアプリを閉じる**

以上