simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Unityネットワークゲーム化:PhotonFusion2 共有モード開始手順

基本的にはドキュメント通り
https://doc.photonengine.com/ja-jp/fusion/current/tutorials/shared-mode-basics/1-getting-started

Prototype Network Start にて、Start Mode を User Interface から Automatic に変更する
Auto Start As を Shared に指定していることを確認

Fusion Bootstrap Debug GUI は非アクティブ化しておく

また Prototype Runner には Network Scene Manager Default と Network Object Provider Default のコンポーネントを追加しておくと
ランタイム時の警告ログを消すことが出来る
ついでに Player Count もデフォルトは 10 なので、ここはアプリ設定の最大と合わせておこう

最後に、Tools > Fusion > Network Project Config を開き Client Tick Rate を 32 に設定する
以上でランタイム時の警告ログを消すことが出来る

Prototype Runner の Network Events に、次のような関数を登録

    public class NetworkEvents : MonoBehaviour
    {
        public void PlayerJoined(NetworkRunner runner, PlayerRef playerRef)
		{
			if (playerRef == runner.LocalPlayer)
			{
				Debug.Log("Player Joined: " + playerRef.PlayerId);
			}

ゲームを起動して、上記のログだけ流れたら成功

情報ログが多くて邪魔な場合があったので
FusionUnityLogger ファイルを見つけ出し

      switch (logType) {
        case LogType.Error:
          Debug.LogError(fullMessage, IsInMainThread ? obj : null);
          break;
        case LogType.Warn:
          Debug.LogWarning(fullMessage, IsInMainThread ? obj : null);
          break;
        default:
          // Debug.Log(fullMessage, IsInMainThread ? obj : null);
          break;
      }

default のログ出力をコメントアウトしておくと、黙らせることができた(Info ログスキップ設定ないのか? 調べてみてもわからなかった)