UE5 SDK
Framedash UE5 SDK (C++ プラグイン) を使用して、パフォーマンステレメトリを自動収集する方法を説明します。
- Unreal Engine 5.3 以上
- C++ プロジェクト (Blueprints Only は非対応)
インストール
Section titled “インストール”プラグインは Framedash UE5 SDK リポジトリ から入手します。Releases ページ から最新のリリース zip をダウンロードするか、公開ミラーをクローンします:
git clone https://github.com/crane-valley/framedash-ue5-sdk.gitその後、プロジェクトに追加します:
- プラグインを
Plugins/Framedashディレクトリに配置 .uprojectに追加:
{ "Plugins": [ { "Name": "Framedash", "Enabled": true } ]}Build.csにモジュール依存を追加:
PrivateDependencyModuleNames.Add("Framedash");- プロジェクトをリビルド
方法 A: 自動初期化(推奨)
Section titled “方法 A: 自動初期化(推奨)”DefaultGame.ini に以下を追加すると、サブシステム起動時に自動で初期化されます:
[/Script/Framedash.FramedashSettings]ApiKey=your-api-keybAutoInitialize=Trueオプションで EndpointUrl、BuildId、SamplingRate も設定可能です:
[/Script/Framedash.FramedashSettings]ApiKey=your-api-keybAutoInitialize=TrueEndpointUrl=https://ingest.framedash.dev/v1/eventsBuildId=1.0.0SamplingRate=1.0これらの設定は Project Settings > Plugins > Framedash からも編集できます。
C++ から初期化コードを書く必要はありません。
方法 B: C++ から手動初期化
Section titled “方法 B: C++ から手動初期化”設定ファイルを使用せず、コードから直接初期化することもできます:
#include "FramedashSubsystem.h"
void AMyGameMode::BeginPlay(){ Super::BeginPlay();
if (auto* Subsystem = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()) { FString ApiKey = FPlatformMisc::GetEnvironmentVariable(TEXT("FRAMEDASH_API_KEY")); Subsystem->InitializeTelemetry(ApiKey); }}InitializeTelemetry には EndpointUrl と BuildId のオプション引数もあります。CI 環境で便利です:
if (auto* Subsystem = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()){ FString ApiKey = FPlatformMisc::GetEnvironmentVariable(TEXT("FRAMEDASH_API_KEY")); FString BuildId = FPlatformMisc::GetEnvironmentVariable(TEXT("CI_COMMIT_SHA")); // EndpointUrl に空文字列を渡してデフォルト値を使用 Subsystem->InitializeTelemetry(ApiKey, TEXT(""), BuildId);}自動収集データ
Section titled “自動収集データ”初期化が完了すると、以下のデータが自動的に収集されます:
- FPS / Frame Time —
stat unit相当のデータ - GPU Time — レンダリングパイプラインの各ステージ
- Memory — 物理メモリ + テクスチャストリーミング
カスタムイベント
Section titled “カスタムイベント”基本トラッキング
Section titled “基本トラッキング”if (auto* Framedash = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()){ Framedash->Track(TEXT("player_death"), TEXT("Map01"), PlayerLocation);}カスタム属性・メトリクス付き
Section titled “カスタム属性・メトリクス付き”追加のメタデータを付与する場合は TrackWithData を使用します:
if (auto* Framedash = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()){ TMap<FString, FString> Attributes; Attributes.Add(TEXT("cause"), TEXT("fall_damage"));
TMap<FString, double> Metrics; Metrics.Add(TEXT("health"), 0.0);
Framedash->TrackWithData( TEXT("player_death"), TEXT("Map01"), PlayerLocation, Attributes, Metrics);}次のステップ
Section titled “次のステップ”- データモデル — テレメトリデータの構造
- CI プロファイリング — 自動ビルドテスト