Unreal Insights には、ネットワーク トラフィックの解析、最適化、デバッグを行う Networking Insights が含まれています。以下の機能を使って、トレース情報を記録してネットワークの挙動を視覚化することができます。
- Game Instance はネットワーク セッションの記録中に可視のマシンの表示を制御します。
- Connection Mode は送受信データを可視化します。
- Packet Overview パネルは、ゲーム中に送受信されるパケットのタイムライン (およびサイズ) を表示します。
- Packet Content パネルは、レプリケートされたオブジェクト、プロパティ、リモート関数コールなどパケットのコンテンツを表示します。
- Net Stats パネルは、パケットの合計サイズ、最大サイズ、平均排他 (または包括) パケットサイズに関する統計など、選択されたパケットのトレース イベントを表示します。

設定
データを解析するには、Unreal Insights を有効にしてトレース情報を記録します。トレース レコーダーがアクティブになった後、以下のコマンドライン オプションでゲーム インスタンスを開始します。
-NetTrace=[VerbosityLevel] -trace=net
VerbosityLevel
はゼロより大きい値に設定します。たとえば、ゲーム インスタンスが -NetTrace=1
で始まる場合、Unreal Insights は Unreal Instights でセッションを開きて、解析用にネットワーク トレース データを収集およびレポートします。
エディタはトレース データ用に独自のデータ ストアを実行します。つまり、エディタでの実行中にネットワーク トレース データを収集するために、トレースホストを指定する必要があります。トレースホストを指定するには、-NetTrace=1 -tracehost=localhost -trace=net
を使用します。
Networking Insights ウィンドウ
Networking Insights ウインドウでネットワーク セッション データを見つけることができます。

Networking Insights ウィンドウには、Packet Overview パネル (1)、Packet Content パネル (2)、Net Stats パネル (3)、Connection Selection パネル (4) があります。
Packet Overview パネル
Packet Overview パネルには、送受信される各パケットのサイズ (ビット) を示すバー グラフが表示されます。詳細な調査が必要な大きいパケットの特定に便利です。バーを左クリックしてパケットを選択します。

パケット上にマウスをかざすと情報が表示されます
複数のパケットを選択するには、最初のパケットをクリックして選択し、Shift キーを押しながら他のパケットをクリックします。選択解除したパケットは赤で表示されます。
Packet Content パネル
Packet Content パネルには、現在選択されているパケットの中身が表示されます。パケットの中身は、左側からビット 0 で始まる階層のイベント グラフとして表示されます。このメイン ツールを使って、各パケットに含まれるデータ内容をプロパティ レベルまで調査します。

最初のレベルには、パケットに含まれるグループが表示されます。それぞれのグループには、属するチャンネルの名前が付いています。報告されたグループにデバッグ名が設定されている場合は channelname
ではなく debugname
を使って追加コンテンツ (あれば) の指定をします。2 番目のレベルには通常、そのブループに含まれるレプリケートされたオブジェクトが表示されます。イベントに割り当てられた NetId(NetGUID) がある場合は、その ID も表示されます。イベント上にマウスを当てると、イベントのすべての情報が表示されます。イベント階層の下の方には、レプリケートされたプロパティ (書き込みバイト数など) が表示されます。
接続ドロップダウン リスト
Packet Overview パネルの上の部分でユーザーを表示日付を選択できます。

ドロップダウン リストは [Packet Content] パネルで使用できます。
ドロップダウン リスト | 説明 |
---|---|
Game Instance (ゲームインスタンス) | 記録セッション中に観察されたそれぞれの一意の NetDriver に対して作成されたゲーム インスタンスを表示します。たとえば PIE を使用する場合は、サーバーと各クライアント用のインスタンスは別々になります。 |
Connection (接続) | 特定の接続を選択し、選択したゲームインスタンスのセッション中に観察された各接続を表示します。 |
Connection Mode (接続モード) | 送受信データを可視化するかどうかを指定します。 |
Net Stats パネル
Net Stats パネルには、Packet Overview パネルで選択されたパケット範囲に対するすべてのトレース イベントがリスト表示されます。

レベルごとにイベントをグループ化した Net Stats パネル
このリストは、選択範囲に基づいてデータを集計するだけでなく、アクティブな列の値で昇順または降順にソートすることもできます。並べ替え順序を変更したり、列をアクティブまたは非アクティブにするには、リスト内の任意の場所を右クリックします。 次の列を使用できます。
- Type
- Level
- Instance Count
- Total Inclusive Size (bits)
- Max Inclusive Size (bits)
- Total Exclusive Size
- Max Exclusive Size
名前で絞り込むには、「search net events or groups (ネットイベントまたはグループを検索)」フィールドを使用します。これらのイベント タイプごとにグループ分けできます。
- Level
- Flat
- Name
レベルごとにグループ化すると同じ名前が別々のレベルに表示されるので、データが見やすくなります。これらのレベルを説明したのが以下の表です。
レベル | 説明 |
---|---|
0 | チャンネル名を使用するグループをすべて表示する、一般的なチャンネル情報です。 |
1 | レプリケートされたオブジェクト (アクタ)、このレベルのほとんどのイベントはシリアライズされたオブジェクトを表示します。 |
2 | プロパティ レプリケーションまたは RPC が元となるイベントを報告します。 |
3 | プロパティをシリアライズ化する時にイベントを報告します。 |
4 | プロパティ、配列コンテンツなどをシリアライズ化する時に追加のイベントを報告します。 |
サンプル データ
Networking Insights が視覚化するデータの理解を深めるために、以下の例を用意しています。
レプリケートされたオブジェクト

新しい Actor�ReplicationGraphDebugActor, NetGUID 10. の最初のレプリケーションです。
新しいアクタを含むグループの前に、新しいアクタからエクスポートされたすべてのリファレンス (NetGUIDS など) を含む NetGUID グループがあります。
RPC

ClientAckGoodMove という名前の RPC で、NetGUID 14 で PlayerPawn_C をターゲットとします。
グループを分割する
分割されたグループを送信して生成されたイベント データは、分割されたグループを受け取ると最初の部分を報告します。すべてを受信すると、イベントは最後の部分を報告します。

分割された送信されるグループです。
次のいくつかのパケットはこのようになります。

SubObjects

SubObject の例です。留意すべき点は、BotPawn_C の後の 2 つめのアクタが同じグループを共有することです。