夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MRTK3のシーンを実行する際のプロファイルが検知できないエラー バグ報告をする HoloLens2023アドベントカレンダー 2日目

本日はMRTK枠です。

またHoloLens2023アドベントカレンダー2023 2日目の記事でもあります。

本来は別の内容を調査する良い手ではあったのですがMRTK3を試している際に謎の不具合が発生し作業が止まってしまっていたため今回はこちらを調査していきます。

〇HoloLensアドベントカレンダー2023とは?

HoloLensアドベントカレンダーとは毎年12月に私の師である、がちもとさんを中心に開催されているアドベントカレンダー企画になります。

qiita.com

〇発生した問題

MRTK XR Rigを使用したシーンを実行する際に以下のエラーが発生しエディタの実行モードが停止してしまう問題がありました。

MRTK Profile could not be retrieved.
UnityEngine.Debug:LogError (object)
MixedReality.Toolkit.XRSubsystemHelpers:GetConfiguration<MixedReality.Toolkit.Input.SyntheticHandsConfig, MixedReality.Toolkit.Input.SyntheticHandsSubsystem> () (at ./Library/PackageCache/org.mixedrealitytoolkit.core@c00d0949582c/Utilities/XRSubsystemHelpers.cs:282)
MixedReality.Toolkit.Input.SyntheticHandsSubsystem:Register () (at ./Library/PackageCache/org.mixedrealitytoolkit.input@719fc273754c/Subsystems/SyntheticHands/SyntheticHandsSubsystem.cs:50)
No profile is available. Please ensure a profile is assigned in the MRTK settings or file a bug if one is and this error is still occurring.
UnityEngine.Debug:LogError (object)
MixedReality.Toolkit.Subsystems.MRTKLifecycleManager:Awake () (at ./Library/PackageCache/org.mixedrealitytoolkit.core@c00d0949582c/Subsystems/MRTKLifecycleManager.cs:49)

MRTK3を使用するためにProjectSettingsからMRTK3のプロファイル自体は設定しており、かつスタンドアロン(PC)での設定を確認しています。

エラーが出るだけでなくEditor上の実行が停止されます。

これによって開発において非常に悩まされることになりました。

〇回避法

上記現象の回避法としてはProjectSettingsのMRTK3のタブを表示させている状態で実行することです。

シーン上を何も変更していないにもかかわらずこれによって上記エラーが回避されツ条通りに実行を確認できました。

ここからは推測にはなりますが、シーン実行時にMRTK3のプロファイルにアクセスできない現象が発生しており、最初からProjectSettingsを開いていることで参照が復帰しているのではないでしょうか?

〇環境

・Unity2022.3.5f1(URP)

・Windows11PC

・MRTK3(各パッケージ内容は多いので以下の画像を参照ください)

〇バグレポート

No profile is available. Please ensure a profile is assigned in the MRTK settings or file a bug if one is and this error is still occurring.(MRTKprofile設定しているのにこれが出たらバグ報告してね)とあるのでMRTK3のリポジトリにイシューを立てバグ報告をしていきます。

GitHubリポジトリを開きます。

github.com

②イシューページ上部からNew issueを選択します。

Bug reportを選択します。

④イシューを作成します。

主に概要、再現手順、期待される挙動、スクリーンショット、環境について記述します。

⑤イシューを提出します。

今回提出したイシューは次になります。

github.com

MRTK3のissueでは必ずNeeds: Triageのラベルが張られます。

MRTK3のメンテナー(コアメンバー)はこのラベルの情報をもとに優先度をつけたり、そもそもTriageが付いているイシューを放置しないような運用が行われています。

以上でバグ調査とバグレポートの提出が完了しました。

本日は以上です。