Unreal Engine SDKを使用して、Unreal EngineアプリからTreasure Dataへのデータ送信を開始できます。詳細については、次のリポジトリを参照してください。

- Unreal Engine 4.14
- Treasure Data書き込み専用APIキー(User > API Keysを選択)
次のドキュメントは、現在のUnreal Engineがソースからコンパイルされているか、サードパーティプラグインをビルドできるようにすべての依存関係を持っていることを前提としています。
メインGITリポジトリからプラグインのコピーを取得します:
$ git clone http://github.com/treasure-data/td-ue4-sdk新しいtd-ue4-sdkをEngineプラグインフォルダにコピーします。ターゲットパスは次のとおりです:
UnrealEngine/Engine/Plugins/td-ue4-sdkまたは、プラグインコンテンツをProjectプラグインディレクトリ内にコピーすることもできますが、このアプローチはLinux開発環境では機能しません。
プラグインをビルドするには、ビルドルールを生成する必要があります。この目的のために、UE4 EngineはGenerateProjectFilesというスクリプトを提供しています:
- GenerateProjectFiles.bat
- GenerateProjectFiles.sh
システム(UnixベースまたはWindow)に応じて、コマンドラインから適切なスクリプトを実行します:
- プラグインがProjectディレクトリ内(Project/Plugins)にある場合は、Projectルートディレクトリに移動してスクリプトを実行します。
- プラグインがEngine内にある場合は、Unreal Engineソースルートディレクトリからコマンドを実行します。
コマンドが終了したら、makeコマンドを入力します:
$ make数秒後、プラグインバイナリが利用可能になります。
場合によっては、プラグインのみを再ビルドする必要があります。通常のmakeコマンドを使用すると、依存関係を修正するためにいくつかのスクリプトを実行するパースを行うため、数分かかる場合があります。プロセスを高速化するには、次のオプションを追加できます:
$ make UE4Editor ARGS=-canskiplinkUnreal Engine 4エディタ内で、プロジェクトとpluginsウィンドウを開きます:
- Edit > Plugins
次に、2つの必要なプラグインを有効にします:
- Blueprints:Built-in > Analyticsにあります
- Treasure Data:Installed > Analyticsにあります


プロジェクトディレクトリから、Config/DefaultEngine.iniファイルを開いて編集し、次の内容を下部に追加します:
[Analytics]
ProviderModuleName=TreasureData
TDApiKey=TD-WRITE-ONLY-KEY
TDDatabase=DATABASE_NAME
SendInterval=10
[AnalyticsDevelopment]
ProviderModuleName=TreasureData
TDApiKey=TD-WRITE-ONLY-KEY
TDDatabase=DATABASE_NAME
SendInterval=10
[AnalyticsTest]
ProviderModuleName=TreasureData
TDApiKey=TD-WRITE-ONLY-KEY
TDDatabase=DATABASE_NAME
SendInterval=10ファイルを保存し、Unreal Engine Editorを再起動します。
エディタで、Blueprintsドロップダウンメニューを選択し、Open Level Blueprintオプションを選択します:

Event graphsで、さまざまなイベントをAnalytics機能に接続できます。例として、次の画像はSession Start、Session End、Record Event w/Attributesイベントを追跡する方法を示しています:
ゲームが開始された後、プラグインはイベントをTreasure Dataに送信します。
ゲームイベントをクエリするには、TD Consoleに移動し、Databasesを選択し、ゲームで使用されているデータベースを開きます(Config/DefaultEngine.ini > TDDatabase):

デフォルトでは、2つのテーブルが作成されます:
- Sessions:開始および停止セッション
- Events:属性の有無にかかわらずすべてのイベント。
レコードをクエリするには、テーブル名を選択し、Queryボタンを選択します。デフォルトでは、次の例のようにSQLクエリを発行できます:
SELECT * from events;