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

v1.2.8での新機能

主な変更点:

すべての変更点のリストは、ここでログを確認してください。

BoltEntityのAPI命名をアップデート

BoltEntityクラスの一部のプロパティはC#コーディングガイドラインに準拠するようリファクタリングされました。古い記号がまだ表示されていますが旧式と表示されており、今後のバージョンでは削除される予定です。変更点の一覧は以下のとおりです:

  • sceneGuid から SceneGuid へ;
  • serializerGuid から SerializerGuid へ;
  • prefabId から PrefabId へ;
  • source から Source へ;
  • attachToken から AttachToken へ;
  • detachToken からDetachToken へ;
  • controlGainedToken から ControlGainedToken へ;
  • controlLostToken から ControlLostToken へ;
  • networkId から NetworkId へ;
  • canFreeze から CanFreeze へ;
  • controller から Controller へ;
  • isAttached から IsAttached へ;
  • isControlled から IsControlled へ;
  • isControllerOrOwner から IsControllerOrOwner へ;
  • isFrozen から IsFrozen へ;
  • isSceneObject から IsSceneObject へ;
  • isOwner から IsOwner へ;
  • hasControl から HasControl へ;
  • hasControlWithPrediction から HasControlWithPrediction へ;
  • persistsOnSceneLoad から PersistsOnSceneLoad へ;

新しいプロパティとしてHasParentが追加されました。これは、BoltEntityに親が存在することを示します。

新しい切断理由

ピアがシャットダウンされる場合、実際にシャットダウンが発生する前に理由を把握できます。これは、Bolt.GlobalEventListener上でBoltShutdownBeginコールバックをサブスクリプションした場合に可能となります。以下を参照してください:

C#

public class MyNetworkCallback : Bolt.GlobalEventListener
{
    public override void BoltShutdownBegin(Bolt.AddCallback registerDoneCallback)
    {
        // Your shutdown behavior
    }

    public override void BoltShutdownBegin(Bolt.AddCallback registerDoneCallback, UdpKit.UdpConnectionDisconnectReason disconnectReason)
    {
        // Your shutdown behavior
    }
}

ご覧のとおり2つのバージョンのBoltShutdownBeginが提供され、後者によって切断の理由が処理されます。既存の理由(UnknownTimeoutErrorDisconnected)に、新たに2種類の理由が追加されました:

  • UdpConnectionDisconnectReason.Authentication: ピアをPhotonサーバーが認証できなかった場合に発生します。たとえば不正な、または未知のAppIDを使用している場合です。
  • UdpConnectionDisconnectReason.MaxCCUReached: この切断理由は、ピアが使用するAppID上で許容されている最大同時接続数に達した場合に表示されます。

Namespaceの変更

以下のnamespace名が修正されました:

  • Bolt.photon から Bolt.Photon へ;
  • udpkit.platform.photon.photon から udpkit.platform.photon へ;

動的リージョンリスト

Boltは「ダッシュボードリージョンフィルタリング」機能に準拠するようになりました。 接続対象のリージョンとしてBest Regionを選択すると、Photonインテグレーションはピアが使用する特定のAppID向けにダッシュボード上で選択されたリージョンのみを考慮し、利用できるpingのうち最小のものをテストおよび選択します(もしAppIDが空欄の場合には、すべてのリージョンが考慮されます)。 この機能は、より少ないリージョンで多くのプレイヤーを統合し、ホストとクライアント間でのマッチングを増加させる場合に役立ちます。

Boltコアパッケージ

このバージョンでは、Bolt Coreパッケージのインストールが不要となりました。このパッケージの全てのファイルは、メインのSDKパッケージに含まれています。 Bolt Wizardウィンドウを実行すると、以下のような新たな警告が表示されます:

bolt wizard - core package
Bolt Wizard - コアパッケージ

名前でルームに参加

Bolt 1.2.8では、名前のみを使用して特定のセッション/ルームに参加できるようになりました。以下のとおり、クライアントからの接続時にはPhotonSessionインスタンスを渡す必要があります。ただしSessionListUpdatedを使用し、セッションをリッスンして参加するものを選択するだけでなく、既知のルーム名を使用して新たなセッションを構築できるようになりました。

この機能は独自のマッチメイキング設定を実装している場合や、クライアントに入室すべきルームを表示する際に他の方法を使用している場合に役立ちます。

C#

// ...
public override void BoltStartDone()
{
    if (BoltNetwork.IsServer)
    {
        BoltNetwork.SetServerInfo("mygame", null);
        BoltNetwork.LoadScene("<my game scene>");
    }

    if (BoltNetwork.IsClient)
    {
        BoltNetwork.Connect(PhotonSession.Build("mygame"));
    }
// ...
}

A2Sサービスを非有効化するオプション[Bolt Pro]

Bolt Settingsウィンドウに A2S Service を有効化/非有効化するオプションが追加されました。このサービスを使用するとGame Hostに関する情報を復元するのに役立ちます。

bolt settings - a2s service enable/disable
Bolt Settings - A2S Serviceの有効化/非有効化
Back to top