Unreal Engineは 特定の条件 の下でソースコードを公開しているため、ソースコードからUnreal Engineをビルドできます。
当然のことながらリリースされていないUnreal Engineを利用することは、十分なテストが行われていない不安定なものを利用することになります。
場合によっては、予期しない問題に直面することも少なくありません。
しかしデメリットを理解したうえで、リリースされていないUnreal Engineを利用することにはメリットもあります。
たとえば、リリースされていない機能が利用できたり、致命的なバグ修正のパッチを早期に取り込めます。
本章ではソースコードからUnreal Engineをビルドする方法を説明し、ビルドしたUnreal Engineを利用する方法について説明します。
またUnreal Engineをデバッグビルドする方法を説明し、Unreal Engine自体をデバッグする方法も説明します。
目次
前提条件
Unreal Engineのビルド方法は、ビルドする環境によって手順が異なります。
本記事では、次に示す環境を想定してUnreal Engineのビルド方法を説明します。
- OS
- Windows 10
- ソフトウェア
Unreal Engineのビルド方法
Unreal Engineをビルドするためには、次の手順に従います。
- Unreal Engineのソースコードの取得
- 依存ファイルのダウンロード
- Unreal EngineをビルドするためのVisual Studioのプロジェクトファイルを作成
- ビルド設定
- ビルド
- 実行
ここからは各手順について説明してきます。
1. Unrael Engineのソースコードの取得
GitHubからUnreal Engineのソースコードを取得します。
ソースコードの取得には、事前にUnreal Engineのソースコードへアクセスする権限が必要です。
ドキュメント を参照し、アクセス権限を事前に得ておきましょう。
git clone https://github.com/EpicGames/UnrealEngine.git
cd UnrealEngine
ビルドしたいソースコードに切り替えます。
Unreal Engineがリリースされたバージョンごとにタグが作成されているため、ビルドしたいバージョンに対応したタグを指定してください。
バージョン5.0.0のUnreal Engineをビルドする場合は、次のコマンドを実行します。
git checkout 5.0.0-release
最新のソースコードに切り替える場合は、次のコマンドを実行します。
git checkout ue5-main
注意点
Unreal Engineのソースコードを階層の深いディレクトリに配置すると、ビルド時にWindowsの絶対パスのパス長の制限(256文字)を超えてしまい、ビルドできない場合があります。
可能な限り、絶対パスのパス長が短くなるディレクトリでソースコードを取得するようにしましょう。
特に、ビルド時に作成される中間ファイルとなる .suppressed.exp
関連のファイルのパス長が長くなる傾向があり、パス長の制限を超えているとファイルが開けずにエラーとなる可能性が高いです。
たとえば UnrealEditor-VisualStudioCodeSourceCodeAccess.lib.response
は、ソースコードが配置されたディレクトリからの相対パスでも200文字を占めており、絶対パスのパス長の制限まで56文字分しか余裕がありません。
/Engine/Plugins/Developer/VisualStudioCodeSourceCodeAccess/Intermediate/Build/Win64/UnrealEditor/Development/VisualStudioCodeSourceCodeAccess/UnrealEditor-VisualStudioCodeSourceCodeAccess.lib.response
2. 依存ファイルのダウンロード
取得したソースコードは、ディレクトリ UnrealEngine
に配置されます。
ディレクトリ UnrealEngine
には、Unreal Engineをビルドするために必要な依存ファイルをダウンロードするbatファイル Setup.bat
が配置されています。
Setup.bat
をダブルクリックし、依存ファイルをダウンロードします。
3. Unreal EngineをビルドするためのVisual Studioのプロジェクトファイルを作成
Unreal EngineのビルドにはVisual Studioを利用します。
ディレクトリ UnrealEngine
には、Unreal EngineをビルドするためのVisual Studioのプロジェクトファイルを作成するbatファイル GenerateProjectFiles.bat
配置されています。
GenerateProjectFiles.bat
をダブルクリックし、Visual Studioのプロジェクトファイルを作成します。
実行完了後、ディレクトリ UnrealEngine
にはVisual Studioのプロジェクトファイル UE5.sln
が生成されています。
4. ビルド設定
生成されたVisual Studioのプロジェクトファイル UE5.sln
をダブルクリックし、Visual Studioを起動します。
Visual Studioが起動したら、次を実行してビルドに関する設定を行います。
- [Solution Explorer] からプロジェクト [UE5] を探し、右クリックして表示されたメニューから [Set as StartUp Project] を実行してスタートアッププロジェクトに設定
- 画面上部の [Solution Configuration] を [Development Editor] へ変更
- 画面上部の [Solution Platform] を [Win64] へ変更
5. ビルド
メニューから [Build] > [Build Solution] を実行し、Unreal Engine 5をビルドします。
6. 実行
ビルドが完了したらUnreal Engineを実行します。
実行方法は2通りあります。
- メニューから [Debug] > [Start Without Debugging] を実行
- ソースディレクトリを起点としたパス
/Engine/Binaries/Win64
にある、実行ファイルUnraelEditor.exe
から起動
Unreal Engineのデバッグ方法
ここではUnreal Engineをデバッグビルドし、実際にデバッグする方法について説明します。
1. 事前準備
Unreal Engineのビルド方法を参考に、Unreal Engineのビルドを行ってください。
ビルド設定などは、変更する必要はありません。
2. デバッグ実行
Unreal Engineをデバッグ実行します。
Visual StudioのメニューからビルドしたUnreal Engineを実行できますが、デバッガにアタッチされたプロセスが終了してプロジェクトを開く時に異なるプロセスが立ち上がるため、このままではデバッグできません。
そこで事前にUnreal Engineを起動しておき、次の手順でデバッグ対象のプロセスをアタッチします。
- ソースディレクトリを起点としたパス
/Engine/Binaries/Win64
にある、実行ファイルUnraelEditor.exe
から起動する - Unreal Engineのプロジェクトを開く
- Visual Studioのメニューから [Debug] > [Attach to Process…] を実行する
- Unreal Engineのプロジェクトを開いたときに立ち上がったプロセス
UnrealEditor.exe
を選択する
3. ブレークポイントを設定
この段階でデバッグ実行する環境が整ったため、ブループリントから Print String
ノードに対応するライブラリ関数 UKismetSystemLibrary::PrintString
にブレークポイントを設定してみましょう。
ライブラリ関数 UKismetSystemLibrary::PrintString
のソースファイルは、ソースディレクトリを起点としたパス /Engine/Source/Runtime/Engine/Private/KismetSystemLibrary.cpp
に配置されています。
Visual Studioでソースファイルを開き、ライブラリ関数の定義 UKismetSystemLibrary::PrintString
を探し、最初の行にブレークポイントを追加します。
エディタ上で新たにActorを作成し、Event Tick
の先に Print String
ノードを接続します。
作成したActorをコンパイルし、レベル上に配置します。
[Play this level in the active leel editor viewport] をクリックしてゲームプレイを開始すると PrintString
ノードが実行されて、設定したブレークポイントでプログラムが止まります。
このあとは通常のデバッグと同じように、ステップ実行したりスタックトレースを調べたりすることができます。