OpenXR Feature Groupsの設定を自動で取得する

2023/01/11に公開

環境

  • Unity 2021.3.7f1
  • OpenXR ver1.4.2

やりたいこと

  • Project Settings > XR Plug-in Management > OpenXRの、OpenXR Feature Groupsの設定をコードから取得したい
  • 背景:
    • apkファイルビルド時に、Quest向けにビルドする際はQuest用にAndroidManifestファイルを修正したい。
    • PICO向けなどQuest以外のプラットフォーム向けにビルドする際は別にスクリプトを通したいため、現在のOpenXR Feature GroupsがOculus Quest Supportのときだけ処理を通す分岐を書きたい

実装

using UnityEngine.XR.OpenXR;
using UnityEngine.XR.OpenXR.Features.OculusQuestSupport;
using UnityEngine.XR.OpenXR.Features.PICOSupport;

......

// Quest向けか?
var isQuestFeatureEnabled = OpenXRSettings.ActiveBuildTargetInstance.GetFeature<OculusQuestFeature>().enabled;

// PICO向けか?
var isPicoFeatureEnabled = OpenXRSettings.ActiveBuildTargetInstance.GetFeature<PICOFeature>().enabled;

参考

Discussion