Unreal Engine5　Linuxインストールガイド

2021年12月13日にインストールした覚書です。
<h1>実行環境</h1><ul><li>OS Ubuntu20.10
</li><li>ドライブ M.2 SSD 1TB　(コンパイル終わったら100GBほどになりました)
</li><li>GPU RTX3060
</li><li>CPU RYZEN5600X
</li><li>メモリ G.Skill M2 32GB
</li><li>clang 13
</li><li>mono 6.8.0.105 (ランタイム含む)
</li><li>Visual Studio Code　(追加拡張: make, C++, Unreal)</li></ul>

参考: <a href="https://docs.unrealengine.com/4.27/ja/Basics/InstallingUnrealEngine/RecommendedSpecifications/">Unrealの推奨ガイド</a>

<h1>基本の手順</h1><h3>Githubとアカウントをリンク</h3><ul><li><a href="https://github.com">Github</a>でアカウントを作成
</li><li>https://unrealungine.com からEpicアカウントを作成
</li><li>Sign In > 開発者情報 > 接続 > アカウント　でGithubを接続する
</li><li>アカウントをリンク > Authorize EpicGames
</li><li>これで、<a href="https://github.com/EpicGames/UnrealEngine/tree/5.0.0-early-access-2">ソースコード</a>を見られるリンクが開けるようになります
</li><li>上記からZipファイルをダウンロード</li></ul>

注）ue5-mainはやはり不安定だったので、Eearly Access 2というブランチを推奨します。（2022年1月5日現在）
参考: <a href="https://www.unrealengine.com/ja/ue4-on-github">Githubと連携</a>
<div class="code-frame">
<h3>コンパイル</h3>UE5のメインディレクトリから実行
<pre><code>./Setup.sh</code></pre>SUCCESSと表示が確認できたら以下を実行
<pre><code>./GenerateProjectFiles.sh</pre></code>注）失敗したら Engine/Build/BatchFiles/Linux よりログを確認
参考: <a href="https://github.com/EpicGames/UnrealEngine/Engine/Build/BatchFiles/Linux/README.me">Linux用Readme</a>

<h3>ビルド・起動</h3>
デフォルトのままで良いなら下記のコマンドをしていきます。さらに詳細な設定は、<a href="#Makefile">オプション</a>をご覧ください。
<pre><code>make</pre></code>
エディターを起動して最初のプロジェクトを作りましょう
<pre><code>cd Engine/Binaries/Linux/
./UnrealEditor"〜/Documents/UnrealProjects/MyProject/MyProject.uproject"</pre></code>最初の起動のみ少し時間がかかりますが、これでUnrealでの開発が楽しめるようになりました。

<h1>オプション</h3>
<h3>ビルド環境の詳細なコントロール</h3>
下記のパスよりUnrealBuildToolを編集してビルドの詳細設定ができます。
Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
また、各プロジェクトファイル下にあるConfigファイルから個別に設定を変えることもできます。

参考: <a href="https://docs.unrealengine.com/4.26/ja/ProductionPipelines/BuildTools/UnrealBuildTool/BuildConfiguration/">ビルド設定のキー一覧</a>

<h3 id=#Makefile>make</h3>
対象セットを指定したり、一つずつツールを指定できます。
<pre><code># RootのMakefileより抜粋
all: StandardSet
RequiredTools: CrashReportClient-Linux-Shipping CrashReportClientEditor-Linux-Shipping ShaderCompileWorker UnrealLightmass EpicWebHelper-Linux-Shipping
StandardSet: RequiredTools UnrealFrontend UnrealEditor UnrealInsights
DebugSet: RequiredTools UnrealFrontend-Linux-Debug UnrealEditor-Linux-Debug

例）セットを指定
make StandardSet
例）make cleanも加えてひとつずつ指定
make CrashReportClient ShaderCompileWorker UnrealLightmass UnrealPak
make UnrealEditor ARGS = "-clean" && UnrealEditor
例）-j [コアの数] で使用するCPUのコアの数を指定
make -j 12</code></pre>

make cleanの変わりにメインディレクトリのMakefileを直接編集する方法もあります。
最後の列にある.PHONY：ステートメントの前に以下を追加してください。
注）文頭はスペースではなくタブインデントさせてください。
<pre><code>shaders-clean:
rm -rf Engine/Intermediate/Shaders Engine/Saved Engine/DerivedDataCache Engine/Intermediate/CachedAssetRegistry.bin

editor-clean:
rm -rf Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor Engine/Binaries/Linux/libUE4Editor-* Engine/Binaries/Linux/UE4Editor

clean:
rm -f Engine/Binaries/Linux/Unreal* Engine/Binaries/Linux/UE* \
Engine/Binaries/Linux/libUnreal* Engine/Binaries/Linux/libUE* Engine/Binaries/Linux/libSh* \
Engine/Binaries/Linux/ShaderCompileWorker* Engine/Binaries/Linux/SlateViewer* Engine/Binaries/Linux/CrashReportClient*
rm -rf Engine/Intermediate/Build Engine/Binaries/Linux/HTML5 Engine/Binaries/Linux/Linux Engine/Binaries/Linux/Android Engine/Binaries/Linux/IOS Engine/Binaries/Linux/HTML5</pre></code></div>


<h3>その他参考リンク</h3>
<a href="https://unrealcommunity.wiki/building-on-linux-qr8t0si2">コミュティLinuxインストールガイド</a>
<a href="https://docs.unrealengine.com/4.27/ja/SharingAndReleasing/Linux/BeginnerLinuxDeveloper/SettingUpAnUnrealWorkflow/">オフィシャルLinuxインストールガイド</a>