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

v1.2.13の変更点

主な変更点:

For a full list of changes, check the log here.

パケット暗号化システム

セキュリティはPhoton Boltで開発する際の主な目的の一つです。このため、AESとハッシュアルゴリズムに基づいて各パッケージを保護するネイティブ暗号化システムを搭載しています。

暗号化をセットアップするには必要なキーをすべて設定するだけです。
Boltはこれらの鍵を使用して、他の介入なしにすべてのパッケージを暗号化し、復号化します。
また、 EncryptionManagerを操作する方法を示す小さなサンプルも含まれています。また、 システムをセットアップするための中央クラスである、EncryptionManager(SDKに含まれる samplesパッケージのSetupEncryptionSystemフォルダー内、またはまたは直接Samples Repoで確認できます。)の操作方法を示す小さなサンプルも含まれています。

以下のコードサンプルでは、暗号化システムの設定とリセットを行います。

C#

void Load()
{
    // The Encryption System includes some Utility methods to generate all necessary Keys
    var IV = EncryptionManager.GenerateAesIV();
    var key = EncryptionManager.GenerateAesKey();
    var secret = EncryptionManager.GenerateHashSecret();

    EncodedIV = Convert.ToBase64String(IV);
    EncodedKey = Convert.ToBase64String(key);
    EncodedSecret = Convert.ToBase64String(secret);

    // Initlize the system just passing the keys as argument and done
    EncryptionManager.Instance.InitializeEncryption(EncodedIV, EncodedKey, EncodedSecret);
}

void Unload()
{
    // Reset all configurations on the Encryption System if you want to disable it
    EncryptionManager.Instance.DeinitializeEncryption();
}

Gameyeセッションホスティングのサポート

Photon BoltはGame Server OrchestrationのソリューションとしてGameyeに正式に対応しています。 信頼性、オートスケーリング、低遅延などの利点を活かし、インフラ上で直接稼働する専用サーバーを使用してデプロイ、管理、プレイすることができます。
インテグレーションの詳細とゲームでの使用方法については、専用ページ参照してください。

Bolt and Gameye Integration
BoltとGameyeの統合

新しいイベントAPI

プレイヤー/サーバー間の通信のためにイベントを広範囲に使用する際にコードをよりクリーンにすることを目的とした、Boltイベントの作成/送信のための新しい簡略化されたAPIが含まれています。以下の例を参照してください。

Bolt and Gameye Integration
Boltイベントサンプル

このBoltイベントの定義に基づいて、以下のコード更新を行うことができます。

C#

void sendEvent()
{
    // Old
    var evt = LogEvent.Create(GlobalTargets.AllClients, ReliabilityModes.ReliableOrdered);

    evt.Message = "Just a message";
    evt.NetworkId = GetEntityID();
    evt.Severity = 2;
    evt.Blocked = false;

    evt.Send();

    // New
    LogEvent.Post(GlobalTargets.AllClients, ReliabilityModes.ReliableOrdered, "Just a message", GetEntityID(), 2, false);
}

新しいAPIには新しい Post 拡張メソッドが含まれ、現在のAPIに既に存在するすべての Create メソッドのバージョンが含まれています。
Createメソッドは 非推奨ではありません。通常どおり機能します。
どちらの方法を使っても問題ありません。

ロビーデータとのマッチメイキングAPI

マッチメイキングAPIは、現在プレイヤーが接続しているロビーに関するより多くの情報を追加することで成長します。
この情報は、プレイヤーがより多くのデータを利用できるようにしながら、マッチメイキングの利用方法を改善します。
プロパティ BoltMatchmaking.CurrentMetadata をチェックすることで、プラットフォームのメタデータにアクセスできます。
これは、 PhotonPlatformでのみ使用でき、Photon.Realtime.TypedLobbyInfoクラスの参照を含みます。現在接続されているプレイヤーの数(PlayerCount)と使用可能なルームの数(RoomCount)の確認に使用できます )。

Boltデバッグ開始UIのリフレッシュ

Photon Boltの主な特徴の一つは、その急速な発展であり、そのために、クリックするだけでBoltセッションを実行することができるツールが含まれています。
これは Bolt Debug Start と呼ばれ、Bolt/Debug Start (Scenes) メニュー項目からカスタムウィンドウとして利用できます。

このバージョンでは、小さなUIのリフレッシュを行い、いくつかの新機能を追加しました。

  1. ビルドオプション: スタンドアロン実行ファイルのコンパイルに使用するいくつかのビルドオプションを選択できるようになりました。利用可能なオプションは DevelopmentBuildScriptsOnlyです。
  2. Build & Run & Run:以前のバージョンでは、毎回ゲームをビルドして実行することしかできませんでしたが(Build & Runボタン。以前はDebug Start)、今ではビルドしなくても実行ファイルを再実行(Runボタン)するだけで実行できるようになりました。

残りのボタンは、フッターの凡例に基づいています。

Enable Source Provider
新しいBoltデバッグ開始ウィンドウ

Boltエンティティ 配列UI

BoltエンティティはBoltアーキテクチャの中心的な部分であり、プレイヤー間で同期されるデータを記述するためにStateの定義を使用します。
利用可能なプロパティには、オブジェクトとプロパティの配列の2つのタイプがあり、1つの参照内で関連する情報をグループ化するために使用できます。

今回のアップデートでは、このようなプロパティを扱う際のBolt EntityコンポーネントUIを更新しました。これにより、すべてのプロパティを一度に描画するために必要なCPU使用量を削減し、データを拡張可能なドロップダウンリストとしてより直感的に可視化できるようになりました。

Enable Source Provider
Boltのデバッグ開始ウィンドウ。1 - 配列用の旧BoltエンティティUI、2 - 配列のプロパティ、およびオブジェクト用の新しいUI。
Back to top