PUN Classic (v1)、PUN 2、Boltはメンテナンスモードとなっております。Unity2022についてはPUN 2でサポートいたしますが、新機能が追加されることはありません。お客様のPUNプロジェクトおよびBoltプロジェクトが停止することはなく、将来にわたってパフォーマンス性能が落ちることはありません。 今後の新しいプロジェクトについては、Photon FusionまたはQuantumへ切り替えていただくようよろしくお願いいたします。

トラブルシューティング

Boltの動作がおかしいと感た場合には以下を参照して下さい:

  1. 元々のBoltパッケージから全てのファイルをインストールしていることを確認する
  2. Boltのインストールを行う:Edit > Bolt Instal > Yes
  3. Boltのコンパイルを行う:Assets > Bolt Compile (All)
  4. Unityを再起動する

問題が解決しない場合、以下を確認して問題を特定し、解決方法を確認して下さい。
それでも解決しない場合は、Boltのフォーラムにお問合せください。
迅速なサポートのため、OSやUnityのバージョン、Boltのバージョン、問題の詳細、可能な場合には問題の再現手順も記載ください。

###インストールを忘れた

Error: エラー

NullReferenceException: Object reference not set to an instance of object.
BoltEditorGUI.Button( System.String icon)

Boltのパッケージはインストールされているが、内部インストールを行っていない可能性があります。
Edit -> Bolt Install -> Yes を選択してください。

###Bolt UIにアイコンが表示されない

インストール関連のBoltのファイルがいくつか不足している可能性があります。
Edit -> Bolt Install -> Yes を選択してください。

###Bolt Editor UIに削除ボタンが表示されない (Bolt 0.4以降)

Bolt 0.4以降でBolt Editor内の要素を削除する場合、Ctrlキーを押しっぱなしにすると 削除ボタンが表示されます。

###この変換は、その他のクライアントへの状態とは同期していません(Bolt 0.4以降)

Bolt 0.4以降では、この変換をAttached():内で必ず連結して下さい。

ここでは、状態に関する変換のプロパティは myTransform である点に留意してください。

BoltEntity上で実装されたメソッドXが呼び出されていません

そのメソッドがBoltメソッドの実装に使用されているか確認してください:

通常の"Unity"の方法は、StartやUpdateのようなUnityのメソッドでしか機能しません:

My EntityがOnEvent()メソッドを有していません

存在しないため、BoltEntity上でOnEvent()をオーバーライドできません

  1. Entity Eventを受信するには、Bolt.EntityBehaviour ではなく、BoltEntityEventListener から継承する必要があります
  2. Eventが Bolt Editor によって作成されていることを確認して下さい
  3. Eventの作成または変更をおこなったら、Boltのコンパイルを行ってください。

詳細情報はイベントを参照してください。

My Serverのコールバックが2回呼び出されています

または:サーバーまたはクライアントのコールバックが2回以上呼び出されています。

シーン内のgameObjectに割り当てられたコールバックのスクリプトが存在する可能性があります。
Boltでは自動的にシーンへの割り当てが行われるため、手動で行う必要はありません。そのため、2回呼び出されることとなります。

Unityのrigidbodiesにオーソリテーティブなプレイヤーが存在します

はい、しかしクライアント側での予測は伴いません。クライアント側の予測を可能にするUnityの実験的なビルドがありますが、Unityの通常のリリースには含まれていません。

プライオリティについて、もっとも高いプライオリティ(最初に送信される)は最低値と最高値のどちらでしょうか?

最高値がもっとも高いプライオリティとなります。

以下のエラーが表示されます:KeyNotFoundException: The given key was not present in the dictionary.

有効期限が切れたビルドでゲームをテストしていると思われます。

Boltをシャットダウン後、イベントを受信しようとするとGlobalEventListenersを取得します

「persistsBetweenShutdowns」をオーバーライドし、trueを返すようにしてください。

SetTransformを終了させる方法は?

SetTransformをnullで呼び出します。

Boltコンソールに___を行う方法は?

Bolt設定内のコンソール設定「visible by default」をfalseに変更し、BoltLog.IWriterを実装することで、BoltLog.Addを使用して実装にログを追加できます。
これによって、完全な管理が実現します。

以下のエラー「Input queue is full」が継続して表示されます。なにが原因でしょうか?

このエラーはエンティティのオーナーが以前送信したコマンドを処理していないため、キューがいっぱいである点を意味しています。通常はホストが突然切断されるか、またはホストのfpsが低下している場合にこのエラーが表示されます。コマンドを使用してスクリプトに「MissingCommand」を実装すると解決する場合があります。

BoltがFrame Stallメッセージを多く受信しているのは、SteamVRが原因でしょうか?

SteamVR_Renderスクリプトには、オーソリテーティブサーバーコード lockPhysicsUpdateRateToRenderFrequency:の物理とクライアント予測を混乱させるオプションがデフォルトで存在しています。このスクリプトではプレハブで、このオプションが「false」になっているか確認してください。

Back to top