UnrealFrontend (UFE) は、ゲーム ビルドの準備、デバイスへのデプロイ、起動など、 日々のビデオゲーム開発とテスト タスクを簡素化および高速化することを目的としたツールです。UFE は、すべてのゲーム デプロイメント、プロファイリング、およびテスト タスクの 中心的なインターフェースとして設計されています。
機能
UFE には次の機能があります。
機能 | 説明 |
---|---|
ランチャー | ゲームをビルド、クック、デプロイ、および起動します。UFE を使用することで、異なるターゲット プラットフォームで動作する複数のターゲット デバイスへ、 ローカル接続されていてもネットワーク上のどこにあっても同時にデプロイできるようになります。シングルまたはマルチプレイヤーのクロス プラットフォーム ゲームを テストするワークフローを劇的にスピード アップさせるために、 (サポートしているプラットフォームの) デバイスごとに複数のインスタンスを起動し、インスタンスごとに異なる役割を設定することができます。 |
セッション | ネットワーク上で実行中の現在アクティブなゲーム セッションにリモートで監視およびインタラクトします。新しい セッション ブラウザ を使用することで、ネットワーク上で現在実行中のゲームのインスタンスを見つけることが可能になります。セッション コンソールは 各ゲーム インスタンスの出力ログをリアルタイムで表示するため、 1 つ以上のターゲット デバイスでコンソール コマンドをリモートで実行できるようになります。まもなく、アクティブなセッションを他のデベロッパーやアーティストとリモートで共有し、 離れた場所からでもセカンド オピニオンを受けられるようになります。 |
オートメーション | 自動的にコードとコンテンツをテストし、その整合性を検証します。これは、以前のバージョンのエンジンでは 利用できなかった新機能です。ゲームのカスタム C++ クラスとコンテンツに対してユニット/機能/ストレス テストを記述でき、 すべてのマップやパッケージがエラーなく読み込まれているかなど、 一般的なワークフローを検証する自動化されたテストを作成できます。また、オートメーション テストをビルド システムに統合する取り組みも行っており、 継続的な統合プロセスの一部として自動的に実行し、 潜在的な問題を検出することが可能になります。 |
プロファイリング | ゲームのパフォーマンスをリモートで分析し、ボトルネックを発見します。UE3 で以前のプロファイリング ツール スイートに精通している場合、 それらの単体のツールをすべて UFE 内で単一のユーザー エクスペリエンスとして 統合する取り組みを行っていますのでご期待ください。 |
デバイス管理 | 開発キット、モバイル デバイス、その他のテスト コンピュータを管理します。以前のバージョンの UFE でもシンプルなデバイスの検出は利用可能でしたが、 UE4 ではより強力になります。ターゲット デバイスがローカル PC に物理的に接続されているか、 デバイスの SDK を介して接続されている必要があるという制限を廃止します。ローカル接続されたデバイスやネットワーク接続されたデバイスを検出し、 他者と共有することができます。Windows や Mac コンピュータも、 デプロイメント、起動、およびオートメーションのターゲット デバイスとして機能するようになりました。 |
はじめに
Unreal Frontend は、Unreal Editor のタブとしても、スタンドアローン アプリケーションとしても利用できます。それらの機能は同等ですが、 軽量なスタンドアローン アプリケーションの方が QA スタッフやプログラマーにとって好ましいツールと思われます。 アーティストはほとんど一日中 Unreal Editor を開いている状態のため、エディタ内バージョンを好まれるかもしれません。Unreal Editor のタブは、[Window (ウィンドウ)] メニューからアクセスできます。
スタンドアローン アプリケーションは、/Engine/Binaries/Win64 や /Engine/Binaries/Mac ディレクトリにあります。
エンジンのソース ビルドを使用している場合は、まず Visual Studio または XCode から UnrealFrontend をビルドする必要があることにご注意ください。
インターフェース
UnrealFrontend のユーザー インターフェースは次のコンポーネントで構成されています。
ランチャー
[Launcher (ランチャー)] タブでは、ゲームをビルド、クック、デプロイ、および起動することができます。その達成のための多くの異なる方法が最終的には用意される予定ですが、 この執筆の時点では次の設定のみがサポートされています。
- ビルド:新しいビルドを作成します。
- クック:オン ザ フライ (Windows および選択されたコンソール)。
- デプロイ:ファイル サーバー (ローカル Windows および選択されたコンソール)、デバイスへのデプロイ (ローカル Windows)。
- 起動:デフォルトの役割を使用 (つまり、デバイスごとに単一のインスタンス + すべてに同じ設定)。
ランチャーのすべての設定はプロファイルに組み込まれています。これにより、異なる設定グループを並行して維持できるため、 1 日に多くの異なるテストを実行する必要がある QA スタッフにとって特に便利です。初めてランチャーを開くと、 プロファイルは存在せず、新しいプロファイルを作成する必要があります。
プロファイルが作成されると、設定カテゴリがいくつも表示されます。
ビルド
|
|||||||
---|---|---|---|---|---|---|---|
クック
|
|||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
デバイス ブラウザ
デバイス ブラウザ は現在、機能が非常に限られていますが、 最終的にはネットワーク上のすべてのターゲット デバイスを管理および共有できるようになる (ログ ファイルの転送を含む) 予定です。ローカルで利用可能なデバイスを自動的に検出し、 検出できないデバイスを手動で追加するインターフェースも提供します。
今はデバイス所有権の真の概念はありません。それをどの程度実装するか (複数のデベロッパー間で共有されるデバイスのロックを含む) はまだ未定です。
注:現在、ローカルで検出できるデバイスのみをサポートしています。この執筆の時点では、 ローカル Windows PC (Win32 と Win64 プラットフォームの両方) およびネットワーク上の選択されたコンソール デバイスなどが含まれます。
セッション ブラウザ
ゲームを 1 つ以上のデバイスで起動する際、ランチャーは実行中のすべてのゲーム インスタンスで構成される新しいセッションを作成し、 これを セッション ブラウザ で追跡できます。UFE において非常に中心的な役割を果たすものですが、 それは現在選択されているセッション (またはセッション インスタンス) が他の [UFE] タブ、 たとえば [Session Console (セッション コンソール)] タブ、[Automation (オートメーション)] タブ、そして近日公開される [Profiler (プロファイラ)] の機能を決定するためです。
デバイス ブラウザと同様に、セッション ブラウザもまだ機能が制限されています。現在は分割リスト レイアウトで 構成されています。上部のリストには検出されたすべてのセッションが表示され、 下部のリストには選択されたセッションの一部であるゲーム インスタンスが表示されます。セッションは必ずしもゲームのみで構成されるわけではなく、 コンテンツ クッカーやファイル サーバーなどの補助ツールも含まれる場合があります。
Unreal Editor 内から UFE を実行している場合、 現在は常に Unnamed Session (名前のないセッション) が表示されます (Unreal Editor インスタンス自体を表します)。
セッション コンソール
セッション コンソール は、セッション ブラウザで現在選択されているすべてのゲーム インスタンスからの ログ出力を収集するための中心ハブです。どのログが表示されるかは、セッション ブラウザで現在選択されているインスタンスによって決まります。 ログ メッセージのリスト (4a) は次に、検索文字列やカテゴリ、詳細フィルタ (4b) を使用してフィルタリングできます。選択された ゲーム インスタンスにコンソール コマンドを送信することが可能です (4c)。複数のインスタンスに 送信されたコマンドは、各インスタンスで実行されます。末筆ながら、すべてまたは選択されたログ メッセージをファイルに エクスポートすることも可能です (4d)。
この執筆の時点では、セッションの検出以降のログのみが利用可能です。UFE 実行前に生成されたログを取得できるよう、 すぐに変更する予定です。
オートメーション
[Automation (オートメーション)] パネルは、自動化されたテスト機能へのアクセスを提供します。セッション内の各インスタンス (UFE をエディタ内で実行している場合のローカル Unreal Editor インスタンスを含む) は、任意の時点でコードとコンテンツの検証のために 自動化されたユニット/機能/ストレス テストを実行することができます。
- コントロール パネル
- フィルタ パネル
- テスト リスト
- 結果
セッション ブラウザで1つ以上のインスタンスを選択すると、 テスト リストにそれらのインスタンスで利用可能なすべてのテストが表示されます。次に、1 つ以上のテストのチェックボックスを選択して実際に実行したいテストを選択するか、 フィルタ パネルを使用してテストのリストをフィルタリングすることができます。選択したテストを実行するには、 コントロール パネル の開始ボタンを押します。テストの結果 (エラー メッセージを含む) が次に、 結果ビュー に集約されます。
(複数のインスタンスを選択することで) 複数のインスタンスで並行して自動化されたテストを実行することが可能です。現在、 さまざまなレベルの並列化 (さまざまな種類のロード バランシング、冗長テストなど) を可能にするテスト グループの実装に取り組んでいます。新しいテストの作成方法の詳細については、オートメーション システムのドキュメントを ご確認ください。
Unreal Remote Agent
Unreal Remote Agent (URA) は、リモート PC (最終的には Mac) のシステム トレイで実行され、 それらの PC および接続されたコンソール デバイスをネットワーク経由で利用可能にするスタンドアローン プログラムです。以前はゲームのデプロイと起動に必要だった URA は、 現在サポートされておらず、アップグレードの途上にあります。