UE4用にMeta QuestでUnreal Insightsの利用を開始する
更新日時: 2026/04/17
Unreal Insightsは、プロファイリングと分析のためのツールです。これを利用すると、ボトルネック、パフォーマンスの急変、スレッドパターンなどをすばやく見つけることができます。このガイドの目的は、リモート接続の場合に少しトリッキーだと感じられるかもしれないその設定処理について説明することです。
- Unrealエンジン、バージョン4.25以上
- 組み込みの開発アプリでトレース機能が有効になっていること(デフォルトはオン)
- Unreal Insightsの実行可能ファイルがビルドまたはダウンロード済みであること(
<CloneDir>\UnrealEngine\Engine\Binaries\Win64\UnrealInsights.exeおよびソリューションエクスプローラの[Solution ‘UE4’] > [Programs (プログラム)] > [UnrealInsights])
- 開発アプリをインストールし、
/sdcard/UE4Game/<ProjectName>が存在していることを確認します。バイナリによってその関連Unrealエンジンプロジェクトディレクトリが作成されるように、ゲームの初回起動が必要な場合があります。 デバイス上で確立されているUSB経由のTCP接続をパススルーするよう、adbに指示します(Unreal InsightsがリッスンするTCPポートは1980)。
adb reverse tcp:1980 tcp:1980
UE4CommandLine.txtファイルを編集して、必要な動作が実行されるようにします。
<CloneDir>\UnrealEngine\Engine\Build\Android\UE4Gameの中からテンプレートファイルを見つけます。UE4CommandLine.txt.templateを見つけ、コピー/ペーストした後、末尾の拡張子.templateを削除します。-tracehost=127.0.0.1 -cpuprofilertrace -statnamedeventsを含む行を追加します。- 必要に応じてこのファイルに変更を加えます。ファイルの書式については、次の画像の例、およびディレクトリと引数の説明をご覧ください。
コマンドプロンプトでUE4CommandLine.txtが含まれるフォルダーを開き、そのファイルをデバイス上のプロジェクトのルートディレクトリにコピーします。
adb push UE4CommandLine.txt /sdcard/UE4Game/<ProjectDir>/
UnrealInsights.exeを開き、必要に応じて[Auto-start analysis for LIVE trace sessions (LIVEトレースセッション用に分析を自動開始)]にチェックマークを付けます。- ヘッドセットを使って、マップを実行します。Unreal Insightsウィンドウにトレースのデータが表示されるはずです。

../../../<ProjectName>/<UProjectName>.uproject /Game/Maps/<MapName> -trace=log,counters,cpu,frame,bookmark,file,loadtime,gpu,rhicommands,rendercommands,object -statnamedevents -tracehost=127.0.0.1 -tracefile=/sdcard/UE4Game/MostRecentTraceCapture.utrace
上記の各ディレクトリ/フラグについての特記事項:
<ProjectName> - Unrealエンジンプロジェクトの名前。これは/sdcard/UE4Game/<ProjectName>の中のエントリに一致します。<UProjectName> - UProjectNameは(エンジンによって指定される)出力バイナリに一致するため、単にAPK名を使用するかまたはゲームのディレクトリの中の.uprojectファイルを検索することができます。<MapName> - これは任意ですが、これによりマップごとに起動引数をカスタマイズできます。マップ名が分かっている場合は、ここに入れることができます。
注: 使用しているベンチマーキングシーンがある場合、そのマップのみに対してトレースを設定すれば、トレースのオーバーヘッドが正規のマップ上の他のプロファイリングに影響することがありません。したがって、プレイのタイプが変わるたびに起動引数ファイルを削除したり、その名前を変更したりせずに、そのファイルを同じ場所に置いておくことができます。
-trace - トレース用にタップインするチャネルを定義することができます。プロファイリング時に使用される組み合わせには、次のものがあります。
- 詳細度最高/オーバーヘッド最大 -
log,counters,cpu,frame,bookmark,file,loadtime,gpu,rhicommands,rendercommands,object - 適度な詳細度/オーバーヘッド最小 -
counters,cpu,frame,bookmark,gpu
-statnamedevents - -trace=cpu オプションと組み合わせた場合、これによりさらに多くのCPUタイミングイベントがアクティブになります。-tracehost - 接続先となるUnreal Insightsインスタンスが実行されているホストマシンのIPアドレス(127.0.0.1)。-tracefile - ライブ分析の代替手段として.traceファイルのダンプ先となるデバイス上のローカルパスを定義するために使用されます。これを常に静的な場所に置き、毎回上書きすることにより、常に最新のトレースを維持することができます。
VRテンプレートに基づくQuestUE5Demoという名前のプロジェクトを例として考えてみましょう。デフォルトのマップはVRTemplateMapに設定します。uprojectは、プロジェクトと同じQuestUE5Demoです。パッケージのフルネームはcom.YourCompany.QuestUnrealDemoです。
../../../QuestUnrealDemo/QuestUnrealDemo.uproject /Game/Maps/MotionControllerMap -trace=log,counters,cpu,frame,bookmark,file,loadtime,gpu,rhicommands,rendercommands,object -statnamedevents -tracehost=127.0.0.1 -tracefile=/sdcard/UE4Game/MostRecentTraceCapture.utrace
更新済みのUE4CommandLine.txtファイルを、デバイス上の該当プロジェクトのルートディレクトリにプッシュします。
adb push UE4CommandLine.txt /sdcard/UE4Game/QuestUnrealDemo/
- Unreal Insightsを起動し、必要に応じて[Auto-start analysis for LIVE trace sessions (LIVEトレースセッション用に分析を自動開始)]チェックボックスにチェックマークを付けます。
- ゲームを起動します。起動時にUnreal Insightsウィンドウ内でライブトレースが開始されます。
デフォルトのPushCommandLine.batファイルでは間違った場所にプッシュされる可能性があります。変更を加えるたびにadb pushコマンドを入力するのが面倒なら、適切な場所にプッシュするようにファイルを編集することができます。そのようにするなら、該当テキストファイルに頻繁に変更を加える場合に便利です。反復作業の時間短縮のため、アプリのプッシュと再読み込みが自動的に実行されるよう、自分のファイルを編集することができます。スクリプトの内容は次のとおりです。
%ANDROID_HOME%\platform-tools\adb.exe push UE4CommandLine.txt /mnt/sdcard/UE4Game/QuestUnrealDemo/UE4CommandLine.txt
%ANDROID_HOME%\platform-tools\adb.exe shell am force-stop com.YourCompany.QuestUnrealDemo
%ANDROID_HOME%\platform-tools\adb.exe shell am start -n com.YourCompany.QuestUnrealDemo/com.epicgames.ue4.GameActivity
-NoSound - 音声をオフにします。-NoTextureStreaming - 障害を切り分けます。-NoVerifyGC - 開発ビルドで障害を回避します。-Benchmark - スキップすることなく各フレームを処理するため、固定したステップでゲームを実行します。-ResX/ResY - ゲームのレンダリング解像度のx値とy値を設定します。これによりCPUにとってのボトルネックを強制的に発生させることができます。-Dumpmovie - ゲームの現在の解像度を使用してレンダリング対象フレームをファイルにダンプします。コンテキストに対応するベンチマーク動画をシェアするのに便利です。