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

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

関連記事

【生成AIテスト記事】Unity運営に関する各種プラットフォーム(Google, Apple, Unity)の情報公開可否

Deep Researchすげえ、ってことで ”「禁止」とされている所はやらず、「許可」とされているところは自分で調べて実行する”でいいんじゃないかな。 調べる手間の削減っていいよね、という生成AIの …

[Unity]かんたんに編集・管理ができるボタン向けカスタムクラスのコード紹介

「ボタンが増えて、変更したり管理がめんどくさい・・・!」そんなあなたに。 Unity向け、編集が容易なボタンのカスタムクラスのコードを紹介します。 特徴 ・クリック・長押し・スワイプ判定対応のクラスで …

監督たちの甲子園 世紀の逆転劇 公式サイト

ゲーム説明 伝統、戦略、想いが交錯する甲子園へ ――あなたの采配で一球のドラマを、勝利を掴み取れ! 一球のドラマを楽しもう! 次の一球にドキドキ、ワクワクする圧倒的な臨場感の3Dキャラ×物理シミュレー …

[Unity]チュートリアル用に使える!指定のオブジェクトのみ注目させるコードの紹介

個人的にGoogle Playだったりでゲームを遊んでるれいです。 個人開発のゲームで特に目立つ、チュートリアルで指定のオブジェクト(例:育成ボタン)を注目させるときに背景をクリッピングさせる… アレ …

Unityで”Class” is missing the class attribute ‘ExtensionOfNativeClass’が発生する原因がわからない ⇒ Easy Save3でした

はじめに 通常、”Class” is missing the class attribute ‘ExtensionOfNativeClass’というエラ …