Language:
Page Info
Engine Version:

ゲーム プロジェクトのコンパイル

アンリアル・エンジン4 (UE4) ではUnrealBuildTool を用いたカスタムビルド手法を使用します。 UnrealBuildTool は、プロジェクトのコンパイルとこれらをエンジンとリンクさせる複雑な部分を全て処理します。標準の Visual Studio のビルド ワークフローを使用してプロジェクトのビルドを行うことができる 透過的なプロセスです。

UnrealBuildTool はゲームプロジェクトのビルドに .Build.cs と .Target.cs ファイルを使用します。これらのファイルは、 プロジェクトが C++ テンプレートを使用して作成された、または C++ クラス ウィザード を使用して、Blueprints Only テンプレートから作成されたプロジェクトに コードを追加する場合に自動的に生成されます。

ビルド コンフィギュレーション

エンジンのコンパイル方法を決定する際に、アンリアル エンジンと UnrealbuildTool は異なるビルド コンフィギュレーションを使用します。使用するコンフィギュレーションは、作成するビルドの目的によって決定されます。

各ビルド コンフィギュレーションには、2 つのキーワードがあります。最初のキーワードは、エンジンとゲームプロジェクトのステートを表します。例えば、Debug コンフィギュレーションを使用してコンパイルすると、 ゲームのコードをデバッグすることができます。2 つめのキーワードは、ビルドしているターゲットを示します。例えば、アンリアルでプロジェクトを開きたい場合、Editor をターゲット キーワードとして ビルドする必要があります。

ビルド コンフィギュレーション - ステート 説明
Debug このコンフィギュレーションはデバッグ作業に使用するシンボルを含みます。デバッグ コンフィギュレーションでエンジンとゲームコードの両方をビルドします。Debug コンフィギュレーションを使用してプロジェクトをコンパイルし、アンリアル エディタでプロジェクトを開きたい場合、プロジェクトでコード変更が反映されているかを確認するには、"-debug" フラグを使用しなければなりません。
DebugGame このコンフィギュレーションは、エンジンを最適化してビルドしますが、ゲームコードはデバッグ可能な状態のままにします。ゲーム モジュールのみをデバッグする場合に理想的なコンフィギュレーションです。
Development Release と同等のコンフィギュレーションです。アンリアル エディタではデフォルトで Development を使用します。後でアンリアル エディタでプロジェクトを開き、プロジェクトのコード変更が反映されているかを見るには、Development コンフィギュレーションでコンパイルしなければなりません。
Shipping 最適なパフォーマンスを実現し、ゲームを出荷するためのコンフィギュレーションです。このコンフィギュレーションはコンソール コマンド、統計情報、プロファイリング ツールを削除します。
Test このコンフィギュレーションは、Shipping コンフィギュレーションですが、一部のコンソール コマンド、統計情報、プロファイリング ツールが有効になっています。
ビルド コンフィギュレーション - ターゲット 説明
[empty] スタンドアローンの実行可能なプロジェクトのバージョンをビルドするコンフィギュレーションですが、プラットフォーム固有のクックされたコンテンツが必要です。クックされたコンテンツに関する詳しい情報については、プロジェクトのパッケージ化 のリファレンス ページをご覧ください。
Editor エディタでプロジェクトを開き、すべてのコード変更が反映されていることを確認するには、プロジェクトが Editor コンフィギュレーションでビルドしなければなりません。
Client UE4 のネットワーク構築機能を使ってマルチプレイヤー プロジェクトの作業を行っている場合、このターゲットは指定したプロジェクトを、マルチプレイヤー ゲーム用の UE4 のクライアント サーバー モデルのクライアントとして指定します。<Game>Client.Target.cs ファイルがあれば、Client ビルド コンフィギュレーション ファイルが有効になります。
Server UE4 のネットワーク構築機能を使ってマルチプレイヤー プロジェクトの作業を行っている場合、このターゲットは指定したプロジェクトを、マルチプレイヤー ゲーム用の UE4 のクライアント サーバー モデルのサーバーとして指定します。<Game>Server.Target.cs ファイルがあれば Server ビルド コンフィギュレーションは有効になります。.

Visual Studio でビルドする

ビルド コンフィギュレーションを設定する

ビルド コンフィギュレーションは、Visual Studio のツールバーから設定することができます。

プロジェクト / コンフィギュレーション メニュー

Project - Configuration Menu

ソリューション プラットフォームを設定する

このソリューション プラットフォームは、Visual Studio のツールバーから設定することができます。

UE4 は現在、以下のプラットフォームをサポートしています。

  • Windows 32-bit

  • Windows 64-bit

UE4 で作業をする場合、通常 Win64 プラットフォームを使用します。これはプロジェクト ファイルを生成する場合にデフォルトで含まれる唯一のものです。プロジェクトファイルの自動生成 ページには、 他のプラットフォーム向けにプロジェクト ファイルを生成するための指示が記載されています。

プロジェクトのビルド

作業を開始する前に、インストールされている Visual Studio 2013 Express for Windows Desktop の Community 版、または Professional 版を実行していることを確認してください。Mac を使用している場合、Xcode 6.1 以降をインストール済みであることを確認してください。

  1. [Solution Configuration] にビルドしたいコンフィギュレーションを設定します。この例では、Development Editor に設定されています。利用可能な各コンフィギュレーションの詳細は ビルド コンフィギュレーション セクションを参照してください。

    rocket_config_development_menu.png

  2. ゲームプロジェクトで右クリックして、[Rebuild] を選んで再コンパイルします。

    rebuild_project_outside.png

これで、コンパイルしたプロジェクトで エンジンを実行 することができます。

エンジンを実行する場合、プロジェクトを再ビルドしたビルド コンフィギュレーションと一致するアンリアル エンジンの実行ファイルを使用することが重要です。例えば、DebugGame Uncooked ビルド コンフィギュレーションでプロジェクトをコンパイルした場合、 ゲーム情報を引数として、UE4-Win64-DebugGame.exe 実行ファイルを実行します。バイナリの命名規則に関する詳細は、 アンリアル エンジンのビルド ページを参照してください。

Unreal を実行する場合、Uncooked コンフィギュレーションでプロジェクトをリビルドした場合、-game フラグを付け加えることが重要です。Debug コンフィギュレーションでプロジェクトをリビルドした場合は、-debug フラグを付けることが重要です。

Visual Studio の既知の問題

問題 解決法
"Project is out of date" (プロジェクトが無効です) というメッセージが常に表示される プロジェクトが最新状態であっても Visual Studio がプロジェクトを無効と解釈しています。 [Do not show this dialog again] ボックスにチェックを入れて [No] を選択することで、このメッセージが非表示になります。
No Debugging Information (デバッグ情報がありません) と表示したウィンドウが Debug コンフィギュレーション使用時に表示される 「UE4editor.exe」 ファイルを Development コンフィギュレーションでコンパイルしたためこのメッセージが表示されます。警告表示に関係なく、Debug コンフィギュレーションを使ってゲームプロジェクトを使ってコンパイルした場合、デバッグ可能です。 [Do not show this dialog again] ボックスにチェックを入れて [Yes] を選択することでこのメッセージが非表示になります。

Xcode を使用してビルドする

Xcode でビルドする場合、ゲーム プロジェクトだけをコンパイルします。エディタはコンパイルしません。

プロジェクトのコンパイル方法

アンリアル エンジンの Xcode プロジェクトは、Xcode の Product > Build オプションを使用する場合に Debug コンフィギュレーションをビルドし、Product > Build For > Profiling を使用する場合は Debug コンフィギュレーションをビルドするように設定されています。ターゲット スキームを編集することで、この挙動を編集できます。

これで、コンパイルしたプロジェクトで エンジンを実行 することができます。

バイナリ エディタを実行する場合、Uncooked コンフィギュレーションでプロジェクトをリビルドした場合、-game フラグを付け加えることが重要です。Debug コンフィギュレーションでプロジェクトをリビルドした場合は、-debug フラグを付けることが重要です。

Xcode の既知の問題

問題 解決法
Xcode は、ブレークポイントでは停止しません。

Xcode の LLDB デバッガーは、アンリアル エンジンのプロジェクトでブレークポイントを正しく処理するように設定する必要があります。ホームフォルダで .lldbinit ファイルを作成 (または、既にある場合は、編集) し、以下の行を追加する必要があります。

settings set target.inline-breakpoint-strategy always