Language:
The translation of this page is out of date. Please see the English version for the latest version of the page.

Unreal Frontend

UnrealFrontend.png

UnrealFrontend (UFE) は、日々のビデオゲーム開発やテスト作業を簡素化および迅速化を目的とするツールです。 例えば、ゲームビルドの準備、デバイスへのゲームのデプロイ (配備・構成)、ゲームの起動などに使用します。UFE は ゲームのデプロイ、プロファイリング、テスト作業全ての主要インターフェースとして設計されています。

機能

Unreal Frontend (UFE) は以下の機能を提供します。

機能

説明

ランチャー

ユーザのゲームをビルド、クック、デプロイ、起動します。UFE はローカルまたはネットワーク上どちらかで接続して、 異なるターゲットプラットフォームで実行される複数のターゲットデバイスへ、同時にデプロイすることができます。単一またはマルチプレイヤー クロス プラットフォームゲーム のテストのワークフローを大幅に迅速化するために、デバイスごと (サポートするプラットフォーム) に複数インスタンスを起動したり、 インスタンスごとに異なった役割を設定します。

セッション

リモートからモニタリングして、ネットワーク上で実行中の現在アクティブなゲームセッションと相互作用します。ローカル クライアントは 新規の セッションブラウザ で、ネットワークで現在実行中のゲームのインスタンスを検索します。セッション コンソールには、 各ゲームインスタンスの出力ログのリアルタイムフィードが表示されます。 1 つ以上のターゲットデバイス上で、リモートからコンソールコマンドの実行が可能になります。作業者のデスクへ実際に赴くことなく、他の開発者やアーティストからセカンドオピニオンを貰うために、 近い将来はリモートからユーザーのアクティブセッションの共有が可能になります。

オートメーション

自動的にコードやコンテンツをテストして整合性を検証します。これはエンジンの新しい機能で、 以前のエンジンバージョンでは利用できませんでした。ゲームのカスタム C++ クラスやコンテンツに対し、単体、機能、ストレステストを書くことができます。 全マップやパッケージの読み込みエラーがないことを確認するなど、 共通のワークフローを検証する自動テストを作成することができます。ビルドシステムへのテストの自動化の統合も現在取り組んでいます。 テストは自動実行され、進行中の統合プロセスの一環として 潜在的な問題を特定することができます。

プロファイリング

リモートからゲームのパフォーマンスを分析し、ボトルネックを発見します。UE3 が提供する以前のプロファイリング ツールのパッケージソフトに馴染みのあるユーザーは、 UFE のシングルユーザー エクスペリエンスへ完全に異なるこれらのツールを統合中ですので お楽しみにしてください。

デバイス管理

開発キット、モバイルデバイス、その他のテスト用コンピューターを管理してください。UFE の前バージョンで利用可能だった簡易なデバイス検出は、 UE4 では格段にパワフルなバージョンを提供いたします。ターゲットデバイスが、物理的またはデバイスの SDK を通じて ローカル PC への接続が必要な制限をなくしました。ローカルで接続されているデバイスやネットワークでつながっているデバイスを検知することが可能となり、 他の開発者とこれらを共有することができます。Windows や Mac コンピューターも、 デプロイメント、起動、自動化のためにターゲットデバイスとして扱えるようになりました。

入門編

Unreal Frontend はアンリアル エディタのタブまたはスタンドアローン アプリケーション形式で利用が可能です。いずれの形式も Unreal Frontend の機能性は同等であるため、 軽量なスタンドアローン アプリケーションが QA 作業員やプログラマーに好まれています。 アーティストはほぼ一日中アンリアル エディタを開いて作業を行っているため、エディタ バージョンを好むかもしれません。アンリアル エディタのタブは [Window] メニューからアクセスすることができます。

workspace_menu.png

スタンドアローン アプリケーションは、「/Engine/Binaries/Win64」ディレクトリおよび「/Engine/Binaries/Mac」に格納されています。

explorer.png

エンジンのソースビルドを使用する場合、Visual Studio または XCode からまず UnrealFrontend をビルドする必要があります。ご注意ください。

インターフェース

UnrealFrontend のユーザー インターフェースは以下のコンポーネントで構成されています。

UnrealFrontend_UI.png

  1. デバイス ブラウザ

  2. ランチャー

  3. セッション ブラウザ

  4. オートメーション

  5. セッション コンソール

ランチャー

[Launcher (ランチャー)] タブでゲームのビルド、クック、デプロイ、または起動ができます。いずれはいろいろな方法でこれらの作業の実現が可能ですが、 このドキュメントを執筆している現在は以下の設定のみをサポートしています。

  • Build:新たにビルドを作成

  • Cook:オンザフライ (Windows と選択コンソール)

  • Deploy:ファイルサーバー (ローカル Windows と選択コンソール) 、デバイスへのデプロイ (ローカル Windows)

  • Launch:デフォルトのロールを使用 (例えば、デバイスごとの単一インスタンス+全開発者に同一設定)

ランチャーの全設定はプロファイルと結び付けられます。これにより異なるグループの設定を並列して維持することができます。 一日に数多くのいろいろなテストを実行しなくてはいけない QA 作業員には特に便利です。初めてランチャーを開くと、 プロファイルは存在しないので、ユーザーが新規にプロファイルを作成しなくてはいけません。

profile_add.png

プロファイルが作成されると、たくさんの設定カテゴリが表示されます。

ビルド

launcher_build.png

設定

説明

Game

ビルドにゲームプロジェクトを指定します。

Build Configuration

ゲームのビルド時に使用するコンフィギュレーションを設定します。

クック

launcher_cook.png

設定

説明

Cooked Platforms

ゲームのコンテンツをクックするプラットフォームを指定します。

現在、クックされていないコンテンツは全プラットフォームでサポートしていません。

Cooked Languages

ゲームコンテンツをクックするための言語を指定します。

Cooked Maps

クックするマップを指定します。

Only cook modified content

有効な場合、クッカは変更のないコンテンツを全て無視します。

Save packages without versions

Cooker Build Configuration

クックに使用するバイナリを決定するコンフィギュレーションを設定します。

Additional Cooker Options

デバイス ブラウザ

現在、 デバイスブラウザ の機能はかなり制限されていますが、いずれは ネットワーク上で全てのターゲットデバイスの管理および共有が可能となります (ログファイルの移行も含む)。ローカルで利用可能なデバイスを自動的に検知して、 手動で追加された自動検出が不可能なデバイスに対しインターフェースを提供します。

現在は、デバイスオーナーシップの正確なコンセプトはありません。どの程度までの実装をするかはいまだに未定です (複数の開発者で共有されるデバイスのロックを含む)。

device_browser.png

注記:現在は、ローカルで発見が可能なデバイスのみをサポートしています。このドキュメントの執筆時点では、 ローカルの Windows PC (win32 と Win64 両方) とネットワーク上の選択コンソールデバイスが含まれます。

セッション ブラウザ

ゲームを 1 つ以上のデバイスで起動するを、ランチャーは実行中の全ゲームインスタンスで構成され、 セッション ブラウザ でトラック可能なセッションを新規に作成します。現在選択されているセッション (またはセッション インスタンス) は、 [Console (コンソール)] タブ、 [Automation (オートメーション)] タブ、間もなくできる [Profiler (プロファイラ)] など UFE タブの機能性を決定するため、とても重要な役割を果たしています。

session_browser.png

デバイス ブラウザ同様、 セッション ブラウザ の機能性は今もなお制限があります。現在は分割リストのレイアウトで 構成されています。上部のリストは発見された全セッションを表示し、下部のリストには選択セッションの一部である ゲーム インスタンスを表示します。セッションはゲームのみで構成されるわけではなく、コンテンツ クッカやファイルサーバーなど 付属ツールを含む場合があります。

アンリアル エディタ内で UFE を実行時、現在は常に Unnamed Session が表示されます (アンリアル エディタ インスタンス自体を表します)。

セッション コンソール

セッション コンソール は、現在 セッション ブラウザ で選択されている全ゲームのインスタンスから 出力されるログを集計する中心です。表示されるログは、セッション ブラウザで現在選択中のインスタンスによって決まります。 ログメッセージのリスト (4a) は、検索文字列またはカテゴリ、そして冗長フィルタ (4b) を使用してフィルタリングすることができます。選択したゲーム インスタンス (4c) に対して コンソール コマンドを送信することが可能です。複数のインスタンスへ送信されたコマンドは、 それぞれのインスタンスによって実行されます。最後になりますが、全ログまたは選択ログメッセージをファイル (4d) へ エクスポートすることも可能です。

console.png

このドキュメントの執筆時点では、セッションの発見が可能となるためログのみとなっています。いずれは UFE を実行する以前に生成された ログの検索が可能になります。

オートメーション

[Automation (オートメーション)] パネルは自動化されたテスト機能へのアクセスを提供します。セッションの各インスタンスは
(UFE 内蔵のエディタの実行時のローカル アンリアル エディタ インスタンスを含む)、コードやコンテンツの検証に いつでも自動化された単体、機能、ストレステストを実行することが可能です。

automation.png

  1. コントロール パネル

  2. フィルタ パネル

  3. テスト リスト

  4. 結果

セッション ブラウザで 1 つ以上のインスタンスを選択すると、 Test List (テスト リスト) に利用可能な全テストが選択インスタンスに表示されます。テストのチェックボックスを 1 つ以上選択して、実際に実行するテストを選択、 もしくは [Filter (フィルタ)] パネル を使用して、テストのリストをフィルタリングします。選択したテストを実行するには、 コントロール パネル にあるスタートボタンを押します。テスト結果 (エラー メッセージを含む) が 結果一覧 へ 集約されます。

(複数のインスタンスを選択すれば) 並列して複数インスタンスのテストを自動的に実行することも可能です。現在、 異なるレベルの並列化を可能とするテストグループの実装に取り組んでいます
(読み込みのバランス、重複するテストなど)。新規テストの作成方法に関する詳細は、オートメーション システムのドキュメントを 参照してください。

Unreal Remote Agent

Unreal Remote Agent (URA) は、接続している PC やコンソール デバイスをネットワーク上で利用可能にするために、 リモート PC (最終的には Mac も) のシステムトレイで実行するスタンドアローン プログラムです。以前は、ゲームのデプロイと起動を必要とした URA は、 現在はサポートを休止しており更新中です。