Unreal Insights は、プロジェクトのイベントを高いデータ レートでキャプチャできるテレメトリ キャプチャおよび解析スイートです。Unreal Insights は、最適化が必要なデータの領域を特定します。 Unreal Insights の主なコンポーネントは以下のとおりです。
-
Trace イベント。
EventName
およびFieldName
パラメータでイベントを定義し、イベントに含める必要のあるフィールドを指定します。 -
Unreal Trace サーバー。アプリケーションからトレースを再作成および保存します。
-
Unreal Insights。データを解析し、視覚化します。

Unreal Insights フレームワークの主なコンポーネントの図。
トレース セッションは自己記述型で、エンジンのさまざまなリリース バージョンと互換性があります。これらは .utrace
ファイルに格納されます。生成された附属データは、トレース ファイルと同じディレクトリにある .ucache
ファイルに格納されます。
Unreal Insights を設定する
エディタから起動する
Unreal Editor から Unreal Insights を起動するには、エディタの下部ツールバーにある Trace/Insights Status Bar Widget に移動します。

トレースを実行してプロジェクト データをプロファイルする場合、Unreal Engine のビルドとオペレーティング システムに応じて、複数のワークフロー オプションから選択できます。 これらのワークフロー オプションの詳細については、次のページを参照してください。
Unreal Insights のプレビルドを起動する
Unreal Engine のバイナリ バージョンをインストールした場合、次のディレクトリに Unreal Insights のコンパイル バージョンが格納されています。
Engine\Binaries[Platform]\UnrealInsights[.exe]
ソースからビルドする
エンジンのバイナリ バージョンがインストールされていない場合や、Unreal Insights をソースからコンパイルする場合は、次のオプションを使用することができます。
-
Integrated Development Enviroment(IDE) を使用する。「Programs」フォルダにある UnrealInsights ターゲットを見つけます。
-
コマンド プロンプトから実行する。エンジンのインストール フォルダで、Unreal Build Tool を使用して Unreal Insights をビルドします。
Windows の場合:
Engine/Build/BatchFiles/RunUBT.bat UnrealInsights Win64 Development
Linux または Mac の場合:
./Engine/Build/BatchFiles/RunUBT.sh UnrealInsights [Linux|Mac] Development
Trace (トレース)
トレース (Trace) は、実行中のプロセスからインストルメンテーション イベントをトレースするための構造化されたログ フレームワークです。Unreal Trace サーバー は単一のサーバー インスタンスとしてバックグラウンドで実行され、複数のプロジェクトまたはブランチ間で共有することができます。これはユーザー インターフェースを持たない最適化されたプログラムであり、パフォーマンスへの影響は最小限に抑えられます。
「Engine/Binaries/Win64
」ディレクトリ フォルダに格納されている個別のサーバー プロセス実行可能ファイル「UnrealTraceServer.exe
」によって Trace サーバーが自動的に起動します。
Trace サーバーには次の 2 つのコンポーネントがあります。
-
トレース レコーダー。受信するトレース接続をポート 1981 でリッスンし、ライブ トレース ストリームを記録します。
-
トレース ストア。記録されたトレースをファイルとしてフォルダに格納します。このフォルダで変更がないかを監視し、利用可能なトレースのリストを Unreal Insights の UI に公開します。
トレース フォルダへのパスの例は次のとおりです。
C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/
その他のドキュメントについては、以下のページを参照してください。
Unreal Insights セッション ブラウザ
Unreal Insights セッション ブラウザ はトレース データを観察するためのインターフェースです。ブラウザを起動するには、下部ツールバーに移動し、[Trace (トレース)] > [Insights] > [Unreal Insights] ([Session Browser (セッション ブラウザ)]) をクリックします。
Trace Store (トレース ストア)
[Trace Store] は、格納されているすべてのトレース セッションを観察および管理するためのインターフェースです。記録されたトレースはファイルとしてフォルダに格納され、Unreal Insights はこのフォルダでデータの変更がないかを監視し、利用可能なトレースのリストを Unreal Insights UI に公開します。

番号 | カテゴリ | 説明 |
---|---|---|
(1) | Trace Store (トレース ストア) パネル | 解析のためにトレース ファイルを開いて、管理します。 |
(2) | Trace Story Directory (トレース ストア ディレクトリ) | トレース セッションへのディレクトリ パスを表示して、開きます。 |
(3) | トレース セッション | 解析のためにロードできる記録済みのセッションを一覧表示します。これらは [Trace Store Directory] にある .utrace ファイルに対応します。 トレース セッションを右クリックすると、名前の変更または削除を行うことができます。または、ショートカット キーを使用することもできます。トレース セッションを選択して、名前を変更する場合は F2 キーを押し、削除する場合は Del キーを押します。 |
(4) | セッション フィルター | トレース ファイルを プラットフォーム、アプリ名、構成、ターゲット、および ブランチ の各カテゴリでソートします。 |
(5) | 検索バー | コマンド ラインまたは名前で検索をフィルターします。 |
(6) | [Connection (接続)] タブ | リモート トレース サーバーへの接続をセットアップします。 |
[Connection] タブ
[Connection] タブでは、実行中のゲームやエディタにトレース サーバーを使用して接続することができます。このタブは、接続設定を変更するための複数のオプションを備えています。

番号 | カテゴリ | 説明 |
---|---|---|
(6) | Connection (接続) タブ | リモートで実行されているゲームやエディタとトレース サーバーとの接続を管理します。 |
(7) | Trace Recorder IP address (トレース レコーダー IP アドレス) | トレース サーバーの IP アドレス。 |
(8) | Running Instance IP address (実行中のインスタンス IP アドレス) | トレース サーバーに接続してデータのトレースを開始するプロジェクト (実行中のインスタンス) の IP アドレス。 |
(9) | Initial channels (初期チャンネル) | トレース接続がデータの解析を開始するときに有効にするトレース チャンネルのリストを指定するフィールド。 |
解析のためにトレースをロードする
解析用にトレースをロードするには、複数の選択肢があります。次のいずれかの方法で実行できます。
-
Unreal Insights ブラウザでいずれかのトレース セッションをダブルクリックします。
-
トレース セッションを選択して、[Open Trace (トレースを開く)] をクリックします。
-
[Open Trace] ドロップダウンの矢印を使用して、他の場所で
.utrace
ファイルを検索します。 -
それぞれのトレース ファイルの解析をすぐに開始するには、.utrace ファイルをエクスプローラーから Unreal Insights のウィンドウにドラッグアンドドロップします。

Live Connect
ライブ トレース セッションがツールに接続されている場合は、それがリストにも表示されます。ライブ セッションのステータス列には「LIVE」と表示され、解析中にリアルタイムで更新されます。それ以外の点では、事前に記録されたセッションと同じです。

ツールは複数のセッションに同時に接続することができ、データの受信に伴ってすべてのセッションのデータを自動的に記録します。これらのセッションは、(事前に記録されたセッションと同じ方法で) リストからロードすることでリアルタイムに分析できます。
[Timing Insights] ウィンドウ
[Timing Insights (タイミング インサイト)] ウィンドウではパフォーマンス データを収集します。CPU トラックと GPU トラックのデータが表示されます。これらのトラックには複数のサブメニューがあり、さまざまな処理タスクとプロジェクトがそれらの実行に費やした時間を分類して視覚化するのに役立ちます。

[Timing Insights] ウィンドウは、[Frames (フレーム)] パネル (1)、[Timing (タイミング)] パネル フィルター (2)、[Timing (タイミング)] パネル (3)、[Log (ログ)] パネル (4)、[Timers (タイマー)] タブと [Counters (カウンタ)] タブ (5)、[Callers (呼び出し元)] パネルと [Callees (呼び出し先)] パネル (6) で構成されています。
「Timing Insights」を参照してください。
Memory Insights
Memory Insights コンポーネントを使用すると、プロジェクトでのメモリ使用量を調査したり、コール スタックをトレースすることができます。
Memory Insights では、ランタイム時に発生するすべての割り当て、再割り当て、または解放イベントのイベントをトレースし、解析時にそのメモリ使用パターンを再構築します。
その設定、トレース、クエリ、データの並び替えなどの方法については、Memory Insights のドキュメントを参照してください。
Networking Insights
Unreal Insights には、ネットワーク トラフィックの解析、最適化、デバッグを行う Networking Insights が含まれています。
詳細については、「Networking Insights」を参照してください。
Slate Insights
Slate Insights は Unreal Insights の機能を拡張し、デベロッパーが UI のパフォーマンスを向上できるようにします。また、特定のスレートおよび UMG の更新の根本原因を特定するためのツールを提供します。
詳細については、「Slate Insights」を参照してください。
Asset Loading Insights
Asset Loading Insights は、プロジェクトのアセットを Unreal Engine にロードするのにかかる時間をプロファイリングする手段を提供します。また、アセット タイプごとのデータ セットを詳細に把握することができます。Asset Loading Insights は、AssetLoadTime トレース チャンネルからトレースされたデータに基づいています。
Cooking Insights
Unreal Cooking Insights を使用すると、プロジェクトでのパッケージのクック方法に関する情報を収集し、表示する機能があります。長時間にわたるクックは、大規模なプロジェクトに取り組んでいるチームの生産性に大きな影響を及ぼすことがあります。各パッケージのクックにかかる時間を表示することで、どのパッケージの最適化に調査を集中させる必要があるかを観察することができます。 詳細については、「Cooking Insights」を参照してください。
参照
マクロとコマンドライン オプションでプロジェクトの出力をカスタマイズすることで、Unreal Insights と一緒にシッピングされた多くの機能を活用できます。
詳細については、「Unreal Insights のリファレンス」を参照してください。