UnityでFirebase SDKをインポートして実行すると発生するエラーの対処法
これまでUnityでFirebaseをすでに利用していたのに、追加でFirebase AnalyticsのUnitypackageをインポートして以降、Unityエディタで実行するとエラーが出てUnityが強制的に終了させられるようになった。
この対処法が英語含めてネットのどこにも書いてなかったので記事を書いてみた。
Error文
Runtime Error!
Program: ...
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
原因
原因はFirebase SDKのバージョンが以前インポートしていたFirebase SDKのバージョンと異なっていたことでした。
対処法
今まで入れていたFirebaseのファイルを一度全部Unityプロジェクトから削除する。(具体的にはAssetsフォルダの直下にある「Firebase」という名前のフォルダを消せばいける)
※削除されたものに伴って起こった問題に対する責任は負わないのでバックアップ取っておいてください。
最新のFirebase SDKをFirebaseのサイトから取ってきてzip解凍した上で、必要な機能の.unitypackageファイルを1つ1つUnityプロジェクトにインポートしてください。
プロジェクトのLibraryフォルダが以前のバージョンの残ったデータをもとに悪さをする場合があるので、Libraryフォルダは一度削除して再度プロジェクトを開きなおしてください。
このときSwitch Platformしてたのもリセットされるので、もう一度Switch Platformするのを忘れずに。
他にあり得る原因と対処法
Unityの.NETの設定がFirebaseと合ってない。この場合、Player Settings(File > Build Settings > Player Settings)のComfiguration内にある「Api Compatibility Level*」を「.NET Standard2.0」から「.NET 4.x」に変更すれば良い。またはこの逆に切り替えて治る。