OculusQuest + Unity 2019.3以降でのVulkan APIについて
Unity 2019.3以降でのビルド時に以下エラーがでる
BuildFailedException: The Vulkan Graphics API does not support XR in your configuration. To use Vulkan, you must use Unity 2019.3 or newer, and the XR Plugin Management. OVRGradleGeneration.OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at Assets/Oculus/VR/Editor/OVRGradleGeneration.cs:104) UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass15_0.<OnBuildPreProcess>b__1 (UnityEditor.Build.IPreprocessBuildWithReport bpp) (at <cf7d2c2e83f749e8943578126f9eff4b>:0) UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at <cf7d2c2e83f749e8943578126f9eff4b>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Vulkan Graphics APIは使えないよ的なことを言われている。
まず解決策からですが、
「build setting」->「Player Settings」->「Player」->「Other Settings」
からGraphics Apisの優先度を入れ替える。
↓ こうする
これでエラーなくなってビルドできるわけなんですが、そもそも「Vulkan Graphics API」ってなんなわけ?っていう
これはOculusの開発者ブログにそれっぽいのがあった
よんでくと、
Vulkan APIってのはUnity 2019.3から"実験的に"導入されたものらしくOpenGL ESが従来のもの、
うんぬんかんぬん(初心者にはよくわからんが)パフォーマンスとかその他もろもろでVulkanのほうが優れている?とのこと
んでなんで実験的かというお話は、
パフォーマンスの向上がのぞめるが、現在リリースされている一部アプリではOpenGLよりVulkanのほうがパフォーマンスが落ちるケースがあり
そのあたりのフィードバックをあつめてるということで、いまだ"実験的"ということらしいですね
またこれらと、その他既知のバグが解消されるにあたって今後は、「Vulkan API」が推奨されるとのことなので、
上記で書いたOpenGLの優先度をあげてビルドする解決策ではなくVulkanでのビルドの解決策をさがしてみる
こちらもさっきのブログに書いてあったので↓にまとめる。
てなわけでVulkanの優先度をもどしまして、
Project Setting -> XR Plugin ManagementからXR pluginをインストールする
Androidタブ「□Oculus」からOculus XR Pluginをインストール
(これはなかなか時間がかかった
これで、おっけー?かな、、、
ビルドしてみる
ビルドできた。
とおもってたんだけど、Graphics API確認してみると、なぜかValkun APIきえてるじゃあないですか、
というわけで、Valukanを追加して再度ビルドしてみるよ
いちおうビルドできた
とりあえずこれからはValukanでためしていこうかとおもったぞと
それとその他注意点として、 OculusGoはValukanサポート外だとのこと、残念ね