Unreal Engine 5でソースビルドをしよう！！

# 注意事項

このソースビルドはめちゃくちゃ時間がかかります！！
ソースコードを落としてくるところからゴニョゴニョ初期化するところだけでも30分はかかっちゃいます。
さらにそこからビルドをするので、時間に余裕を持って取り組みましょう。

:::note warn
ソースコードからUnreal Engineをビルドする作業が一番時間がかかります。
CPU i5-13400f 
メモリ 32GB
の環境でも4時間ほどかかりました。
:::

## 前提条件

### Visual Studio のインストール
まだPCに入っていない人は以下のURLからVisual Studioをインストールしましょう。

https://visualstudio.microsoft.com/ja/

### 組織に入ろう
以下のドキュメントに従ってEPICの組織にGithubのアカウントを連携させましょう。
所要時間は10分以下です。

https://www.unrealengine.com/ja/ue-on-github

![Github.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/5c0b131f-f7a7-ec74-b803-f8032d7155d5.png)

ダウンロードしたいバージョンのブランチに移動しましょう。

### SSHキーの登録

:::note
HTTPSでCloneした際にタイムアウト(?)のようなエラーがでました。
SSHに切り替えると解決しましたが、 私の環境のみでの問題かもしれません。
:::

以下のサイトを参考にしてSSHキーを登録しましょう。

https://qiita.com/shizuma/items/2b2f873a0034839e47ce

# やり方

## 1. ソースコードのダウンロード

:::note warn
パスに日本語が含まれているとうまくビルドができない可能性があります。
C:/DevelopTool/Ue5 などフォルダを作ってそこにクローンしましょう。
:::

以下のURLからソースコードをクローンします。

ただし、リポジトリのサイズが大きいため最新のコミットをクローンしましょう。

```git clone -b 取得したいブランチ --depth 1 git@github.com:EpicGames/UnrealEngine.git```

https://github.com/EpicGames/UnrealEngine

自分は5.4のバージョンをインストールするので以下のコマンドになります。

```git clone -b 5.4 --depth 1 git@github.com:EpicGames/UnrealEngine.git```

## 2. ファイルの生成

以下の順序でファイルを起動してください。
普通にダブルクリックを行うと自動でバッシュが起動します。
1. Setup.batを実行
2. GenerateProjectFiles.batを実行

![Init.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/62b7a717-0ac6-173d-de47-bca77b7a760c.png)

:::note warn
Setup.batの最終処理を行っているときに管理者権限が求められます。
これを許可しないと永遠に終わらないので注意しましょう。(2敗)
:::

## 3. Visual Studioの設定

手順通り行えば UE5.sln が生成されるので、Visual Studioで開いてビルドを行いましょう。
UE5.slnをVisual Studioで開くと以下のような画面が表示されます。
![FirstLook.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/6cde4c6f-5337-d48b-87bc-467fcc7fb662.png)

この状態で左上の Develop... となっているところを **Development Editor** に変更しましょう。
![Type.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/1dc6befe-9471-ab1f-f10c-1324dc655b4a.png)

画像のように右側にファイルがいっぱい出ていない場合は以下の手順を行ってください。
![SolutionExp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/004e7491-d728-ab1d-4c43-60ce830ed860.png)

タブの表示(V)をクリックしてソリューションエクスプローラを選択します。
![Solution.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/be97e6ab-cc29-0284-4313-8402a5e19ef1.png)

## 4. ビルド

(特に設定していなければ)右側に表示されているソリューションエクスプローラーの Engine フォルダをクリックして展開しましょう。
そうすると UE5 というプロジェクトが表示されます。
![SelectUE5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/a7b3ff0b-da57-45b6-9935-9f4b27b27d09.png)

UE5 を右クリックしてビルドを選択します。
![Let'sBuild.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/48d8c149-4f67-cc5e-5936-1bdcf03ab9d2.png)


# おわりに

以上でUnreal Engine 5のソースビルドが完了です！！
お疲れ様でした！！！

最後まで正しくできていれば以下のようなログが流れているはずです。
![Build Log.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/9a2894c5-20b1-c58a-eac3-c8f91f545ef4.png)
あとは美容室行くなり、買い物に行くなり、好きなことをして待ちましょう。

最後にF5を押してデバッグを開始することでUnreal Engine 5のエディタが起動します。

# 参考文献

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/downloading-unreal-engine-source-code?application_version=5.3

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/building-unreal-engine-from-source?application_version=5.3