事の発端
開発作業しようとしたらタイトル通りの現象に遭遇しまして、見たところ同じ目に逢っている人が見当たらなかったので備忘録として記事にしました。
もし今後、似たような事例で苦しんでる人がいれば参考にしていただけたら……
発生した現象
v.73以降のmeta SDKをUnityPackageから入れて再起動しかけるとロード中にクラッシュする
解決策
自分のPCの場合、
Users/{username}/AppData/Local
Users/{username}/AppData/LocalLow
Users/{username}/AppData/Roaming
で作られたUnityフォルダを全削除すると起動できました。
原因(おそらく)
多分キャッシュ関係です。
クラッシュした際にUnityが出してくれる
C:\Users\{username}\AppData\Local\Unity\Editor\Editor.log
Player.Logには
========== END OF STACKTRACE ===========
A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
* C:/Users/{user}/AppData/Local/Temp/Unity/Editor/Crashes
Assertion failed on expression: '(g_AssetDatabasePreventExecutionBitField & newState) != 0'
UnityEngine.Debug:ExtractStackTraceNoAlloc (byte*,int,string)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
OVRPlugin/OVRP_1_1_0:ovrp_GetVersion () (at ./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Scripts/OVRPlugin.cs:13865)
OVRPlugin:get_version () (at ./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Scripts/OVRPlugin.cs:90)
OVRPlugin:GetMachineID () (at ./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Scripts/OVRPlugin.cs:7827)
Meta.XR.Editor.RemoteContent.RemoteContentDownloader`1<Meta.XR.Editor.RemoteContent.RemoteJsonContentDownloader>:WithMachineIdUrlParameter (bool) (at ./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Editor/Utils/RemoteContent/RemoteContentDownloader.cs:161)
Oculus.VR.Editor.OVRProjectSetup.UPSTContentManager:.cctor () (at ./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Editor/OVRProjectSetup/UPSTContentManager.cs:41)
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor (System.RuntimeTypeHandle)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes (System.Type[])
[./Library/PackageCache/com.meta.xr.sdk.core@06273138c40d/Scripts/OVRPlugin.cs line 13865]
と書かれているので、metaSDK初期化前にUnity側で色々起動しているが為にエラーが起きてるっぽいです。
なぜ起動する順番が逆になっているのかまではわかっていないので、有識者の方居ましたら是非素人の私めを叩き出してください。
他やったこと
・meta sdk core再インストール
・Link,develop再インストール
・UnityProject再インストール
・再起動
・Visual C++ 修正パッチ追加
・meta sdk coreをPackagesとしてインストール
・レジストリでOculusを初期化
あまり深い階層でエラーが出ていなかった場合は上記の方法で何とかなると思います。
自分のPCはダメだったのでキャッシュを削除しました。
あとがき
プロジェクトが全消滅するわけではないのでそこまで深刻ではないのですが、
ここいらを消すと
Users/{username}/AppData/Local
Users/{username}/AppData/LocalLow
Users/{username}/AppData/Roaming
ログイン情報等も消えるのでそこそこ気を付けてください。
あと当たり前ですがPC初期化でも治ります。再発する可能性はあるので、あまりオススメしません(一敗)
おわり。