経緯
2023年11月9月にMeta XR SDKが正式公開されました。これに伴ってOculus Integratinは非推奨となりました。
Oculus IntegrationはこれまでQuest向けアプリを作る際に散々お世話になったし、また1つOculusの名前が消えるのが寂しいです。
弊社では10月末から動き出したQuest向け開発のプロジェクトでOculus Integrationを使っていました。このプロジェクトをMeta XR SDKに移行する際にやったことと詰まったことをご紹介します。
Meta XR SDKとは
Metaが公開しているxR開発用のUnity向けSDKです。Quest向けだけでなく、VR、MR開発で汎用的に使えるコンポーネントも含まれています。
UPMで提供されており、Asset Storeからだったりパッケージマネージャーで名前を指定してインストールしたりできます。
いくつかのパッケージに分かれており、その中から必要なものだけをピックアップしてインストールすることができます。
中身は基本的にOculus Integrationと同じですし、各ファイルのGUIDが同じなのでそのまま入れ替えで動きます。
MetaXR SDKに移行するメリット
- 今後、Quest向けの新機能が出た時にMeta XR SDKでしか使えない可能性が高い
- UPMなので取り回しやすい
- インストール、アンインストールが楽
- 自然とgit管理対象外になるためリポジトリを小さく保てる
- GitHubでリポジトリを作る時にUnity用の.girignoreをテンプレートから生成していれば対象外になる
- 改変できない
- Packagesディレクトリ配下は編集してもUnityによって自動的に元に戻される
- SDK側のコードを改変できてしまうと出来心で行ったちょっとした変更がSDKの更新を阻害する
移行手順
- Oculusディレクトリ配下のSampleFramework以外のディレクトリを削除する
- Meta XR SDKを入れる
- Core SDKは必須
- 必要であればInteraction SDKやInteraction SDK OVR Integrationなどを入れる
- 何が必要か分からなければAll-in-One SDKを入れる
詰まったこと
SampleFrameworkが無くなっている
Oculus Integrationの多彩なサンプル実装が含まれたSample FrameworkディレクトリはMeta XR SDKに存在しません。
UIHelperプレハブやCustomeHandプレハブを使い続ける場合はこのディレクトリを残しておきましょう。
どのSDKを入れればいいかわからない
Meta XR SDKは種類が多いです。今回使ったパッケージとその役割は以下の通りです。
-
Meta XR Core SDK
- 基盤部分
- Oculus IntegrationのVRディレクトリと大体同じ
-
Meta XR Interaction SDK
- 物を掴んだりボタンを押したりする機能
- Questに限らない抽象的な設計になっている
-
Meta XR Interaction SDK OVR Integration
- Interaction SDKをQuestで使うためのプレハブなど
各SDKにはUPMの機能により、依存関係が設定されています。
例えば、Interaction SDK OVR IntegrationをインストールするとCore SDKとInteraction SDKも自動で入ります。
まとめ
SDKのアップデートは最新版と差が大きく開いてからだと圧倒的に大変なので今のうちにやることをおすすめします。
お知らせ
弊社は現在、xRエンジニアを募集中です。
請負案件や自社プロダクトのVRゲームを開発できます。
是非一緒に働きましょう!
その他の職種も随時募集中です。
https://www.wantedly.com/projects/1543523