HoloLens 2が届いて早速アプリケーションをデプロイしています。
Unity2019.3.9f1でデプロイ時に問題は発生したため今回はその現象と回避法をまとめます。
〇環境
・HoloLens 2
・MixedRealityToolkit v2.4.0
・Unity2019.3.9f1
〇発生した問題
applicationをビルド、デプロイして実機で起動したとき、アプリが正常に起動せず落ちる。
一見するとうまくデプロイできているようにも見えるので空プロジェクトにMRTKだけ入れたものをデプロイしても同様に動かない。
〇回避
Twitterで問題をつぶやいたところMRTKチームのSean Ongさんがリプライをくれました。
You need to build to ARM64 not ARM. There is a bug
— Sean Ong (@sean_ong) 2020年7月5日
どうやらARMではなくARM64でビルドするとうまくいくようです。
また日本で活躍されているHoloRangerの先輩のDecocさんからイシューに上がっていると教えていただきました。
issue読みませう…
— Decoc (@deco_c_) 2020年7月5日
(ARM64が推奨だけど、ARMでビルドする手順も記載ありますよ…)https://t.co/Cy16IIKOS9 pic.twitter.com/qcRkB0kC7S
MRTKのリリースノートに既知の問題として挙がっていました。
Unity 2019.3: ARM build architecture There is a known issue in Unity 2019.3 that causes errors when selecting ARM as the build architecture in Visual Studio. The recommended work around is to build for ARM64. If that is not an option, please disable Graphics Jobs in Edit > Project Settings > Player > Other Settings. For more information see Building and Deploying.
Project SettingsからPlayerの[OtherSettings]を選択します。
OtherSettingsの中の[Graphics Jobs]のチェックを外し無効化します。
以上が解消策のようにです。
この状態でビルド、デプロイします。
Graphics jobsはレンダリングに関する影響を最適化する設定のようです。
APIによって使用できるデバイスが決まっており、デフォルトでオフになっている場合が多いようですが、Unity2019.3.9f1では有効化されてしまっていることにより発生するようです。
これで問題が解決し正常にアプリが起動できるようになりました。