Unreal Engineのプロジェクトをパッケージ化すると、対象のプラットフォームで作成したアプリケーションを実行できるようになります。
プロジェクトのパッケージ化は、対象のプラットフォームに向けた最適化処理やデータ形式の変換が行われます。
このためエディタ上では問題なく動作していたプロジェクトが、パッケージ化すると正しく動作しないということも起こり得ます。
エディタ上でデバッグする方法は、C++のプロジェクトを作成して「DebugGame Editor」を選択するだけでデバッグできました。
しかし、パッケージ化されたプロジェクトはこの方法ではうまくいきません。
そこで本記事では、パッケージ化したプロジェクトをVisual C++を利用してパッケージ化したプロジェクトをデバッグする方法を説明します。
前提条件
Unreal Engineのバージョン | 5.1 |
エディタを実行するOS | Windows |
パッケージ対象プラットフォーム | Windows |
手順
Unreal Engineプロジェクトファイル(.uproject
ファイル)を右クリックし、[Generate Visual Studio project files] を実行します。
Visual C++ソリューションファイル(.sln
ファイル)を開き、プロジェクトをビルドします。
このとき、ソリューションの構成は [DebugGame Editor] を選択してください。
C++のプロジェクト作成方法の詳細については、次の記事も参考にしてください。
Unreal Engineプロジェクトファイルを開きます。
画面上部の [Platforms] をクリックし、表示されたメニューから [Windows] に移動します。
さらに表示されたメニューの [BINARY CONFIGURATION] から、[DebugGame] を選択します。
画面上部の [Platforms] をクリックし、表示されたメニューから [Windows] に移動します。
さらに表示されたメニューの [CONTENT MANAGEMENT] から、[Package Project] を実行します。
ビルド後の生成ファイルを保存する場所を指定するウィンドウが開くため、場所を指定するとプロジェクトのパッケージ化がはじまります。
プロジェクトのパッケージ化に成功すると、生成ファイルを保存する場所を起点とした場合は実行ファイル Windows/DebugPackagedProject/Binaries/Win64/<プロジェクト名>-Win64-DebugGame.exe
が生成されます。
ビルドに失敗した場合は [Output Log] にエラーメッセージが表示されるため、確認してエラーを修正してください。
プロジェクトのパッケージ化で生成された実行ファイルを実行すると、アプリケーションが起動します。
起動したアプリケーションのプロセスにアタッチします。
Visual C++ソリューションファイルを開き、[デバッグ] > [プロセスにアタッチ] を実行します。
ウィンドウが立ち上がるため、アタッチ先のプロセス名を選んでアタッチします。
アタッチ先のプロセス名は、実行ファイルの名前と同じです。
プロセスをアタッチすると、Visual C++上でデバッグできるようになります。
ブレークポイントを使ったデバッグなどの通常のデバッグができるようになるため、気になる部分をデバッグしていきましょう。
まとめ
本記事では、パッケージ化されたプロジェクトをビルドする方法について説明しました。
同じ実装であってもパッケージ化前とパッケージ化後の動作が異なるケースはよくあります。
特にC++を使って実装している場合は、パッケージ化後のアプリケーションで正しく動作しない場合が少なくなく、デバッグが困難という厄介な問題もあります。
本記事によって、パッケージ化後のアプリケーションのデバッグ効率化に役立てれば幸いです。