RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Unity(C#)

Unity スタンドアロンアプリ(PC版)でFirebaseが動かない不具合の対応

投稿日:

「原因がわからなくて詰んでる」みたいな状態になったバグがありましたので共有します。
参考:[Crash] Firebase crashes on some Windows machines #1284

バグの状況

特定のPCのみ、Firebaseの読み込みを実行するとゲーム(スタンドアロンアプリ)が落ちる。
Unity Editor上では問題なし。
問題なく動くPCは、初期化しても問題なく動く(=インストール関連ではない)。
動かない特定のPCに何をインストールしても、挙動は変わらない。

修正用コード

Firebaseの初期化に1行追加するだけです。

db = FirebaseFirestore.DefaultInstance;
db.Settings.PersistenceEnabled = false; # スタンドアロンアプリの場合falseに設定

エラー例

デバッグしてみると、以下のログが出ます。
「HttpSocketを頑張って動かしているのに、なぜかうまくいかない(ループする)」ような挙動を示します。

0x00007FFA7ED1A569 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED1B8CB (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED17751 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED18320 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED18F89 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED19279 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED15AB3 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED08B91 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7EB81544 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB6B387 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB4F8AF (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB4FFBB (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB48C39 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB3E791 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EFAC9F4 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED0245F (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFAF4691BB2 (ucrtbase) configthreadlocale
0x00007FFAF57C7034 (KERNEL32) BaseThreadInitThunk
0x00007FFAF6EE2651 (ntdll) RtlUserThreadStart

原因と思っていたもの

結局、上の1行で対応できましたが、色々試していました。

・インストールが足りていない?
Visual Studio
Visual C++
その他Unity関連のインストールモジュール

原因

Firebaseのバグ。
特定のPCで読み込みがループしてしまう。

-Unity(C#)

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【Unity(C#)】メインカメラの挙動に合わせて、サブカメラもアスペクト比に合わせて伸縮させる

メインカメラの挙動は以下参考にしました。ありがとうございました! Unityの画面のアスペクト比と解像度を自動変換 全スマホ・複数解像度に対応させる 使い方 メインカメラとサブカメラを作成。 メインカ …

Xcode13以降で起こる「info.plistが見えない」「作成できない」不具合に対応する

なぜかinfo.plistが見えない問題があるので、備忘として書き残しておく。 (1)プロジェクトのxcodeprojectファイルをXcodeで開く (2)該当Project選択 (3)TARGET …

C# 最適化による読み込み速度向上実験

ゲーム 監督たちの甲子園(仮)で、オーダー設定を作っています。 ただ、動作がクソ重いので最適化でどれくらい重いのか、最適化するとどうなるのか比較したいと思います。 動作イメージは下記の通りです。 動画 …

Unity IAP(In App Purchase):消耗型編の覚え書き

この記事はUnity IAP完全攻略への道:消耗型編(+コンビニ決済)を掘り下げた記事です この記事では、基本的な処理は書かれているものの初心者にはわかりづらい点があります。 問題1・IAPクラスをど …

「1人で遊べる最もシンプルな脳活ゲーム NEXT CARD」制作しました

皆さま、お疲れ様です( ^o^) だいぶ更新間隔が空きましたが、いかがお過ごしでしょうか。 ゲーム紹介 今回はMeisyoとは異なる別の制作物を作っていました。 珍しくトランプカードゲームです。 1人 …