2021年12月13日にインストールした覚書です。
実行環境
- OS Ubuntu20.10
- ドライブ M.2 SSD 1TB (コンパイル終わったら100GBほどになりました)
- GPU RTX3060
- CPU RYZEN5600X
- メモリ G.Skill M2 32GB
- clang 13
- mono 6.8.0.105 (ランタイム含む)
- Visual Studio Code (追加拡張: make, C++, Unreal)
参考: Unrealの推奨ガイド
基本の手順
Githubとアカウントをリンク
- Githubでアカウントを作成
- https://unrealungine.com からEpicアカウントを作成
- Sign In > 開発者情報 > 接続 > アカウント でGithubを接続する
- アカウントをリンク > Authorize EpicGames
- これで、ソースコードを見られるリンクが開けるようになります
- 上記からZipファイルをダウンロード
注)ue5-mainはやはり不安定だったので、Eearly Access 2というブランチを推奨します。(2022年1月5日現在)
参考: Githubと連携
コンパイル
UE5のメインディレクトリから実行./Setup.sh
./GenerateProjectFiles.sh
ビルド・起動
デフォルトのままで良いなら下記のコマンドをしていきます。さらに詳細な設定は、オプションをご覧ください。make
cd Engine/Binaries/Linux/
./UnrealEditor"〜/Documents/UnrealProjects/MyProject/MyProject.uproject"
オプション
ビルド環境の詳細なコントロール
下記のパスよりUnrealBuildToolを編集してビルドの詳細設定ができます。
Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
また、各プロジェクトファイル下にあるConfigファイルから個別に設定を変えることもできます。
参考: ビルド設定のキー一覧
make
対象セットを指定したり、一つずつツールを指定できます。# 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
make cleanの変わりにメインディレクトリのMakefileを直接編集する方法もあります。
最後の列にある.PHONY:ステートメントの前に以下を追加してください。
注)文頭はスペースではなくタブインデントさせてください。
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