Unreal Engine 5
Unreal Engine 5 は Epic Games によって作成されたビデオゲームエンジンの最新バージョンでした。
この記事の内容は、元々 Unreal Engine wiki に書かれており、Arch Linux 用に特別に適応されました。
必須条件
推奨ハードウェア を参照してください。
ソースコードへのアクセス権を取得
Unreal Engine のソースコードは、プライベートな GitHub リポジトリにあり、アクセスするために開発者(Epic Games)への 無料登録 が必要です。
アクセス権を取得するために、Epic Games アカウント でログインまたは登録し、Epic Games 'Connected Accounts Dashboard' ページの下部にアクセス可能な GitHub ユーザー名を提供してください。その後、プライベートな GitHub リポジトリへのアクセス権の招待が送られます。
Clone
特定のブランチだけをクローンする方が速いです。
$ git clone git@github.com:EpicGames/UnrealEngine.git --branch release --single-branch
コンパイル
ダウンロードした GitHub のリリースから手動でコンパイルするか、AUR からインストールすることができます。
手動
GitHub 上で ZIP として最新のリリースを取得できます。
セットアップ:
$ ./Setup.sh
プロジェクトファイルを生成:
$ ./GenerateProjectFiles.sh
その後、コンパイル:
$ make -j1
これにより、Unreal Engine と Unreal Editor がコンパイルされます。
AUR から
Unreal Engine 5 は、unreal-engineAUR パッケージとして AUR で利用可能です。最初の起動時にシェーダーを事前コンパイルするため、UE5 のパーミッションを修正する必要があるかもしれません:
# chmod -R a+rwX /opt/unreal-engine/Engine
このパッケージはインストール後(最初の起動時にシェーダーをコンパイルした後)約 70 ギガバイト (GiB) で、コンパイルするために約 120 GiB のスペースが必要で、圧縮時に ABS パッケージの出力が約 9 GiB になります。この AUR パッケージは、ソースファイル約 10 GiB と依存関係約 5 GiB をダウンロードします。
リポジトリはプライベートなため、set up an SSH key することで、ソースのダウンロードに GitHub アカウントが使用されます。
PKGBUILD のソースとして .zip リリースを使用すると、ダウンロードサイズが小さくなります。ただし、このリンクは、最初に 上記 で概説された手順に従ってからでないと機能しません。
コンパイル時間
コンパイルにかかる時間は、マシンの性能によって異なり、20 分から数時間かかる場合があります。 例として、AMD FX-8350(8 スレッド)、16GB DDR3、SSD、Clang 3.8.1 の環境では、約 40 分かかります。 (これには、シェーダーのコンパイル時間は含まれません)
トラブルシューティング
コンパイルの問題
コンパイルが失敗した場合、Debug プロファイルを使用してエディターをビルドしてみてください[1]:
$ make UE5Editor-Linux-Debug
ただし、これにはパフォーマンスに影響を与える可能性があります。
別のアプローチとして、異なる clang バージョン(例えば 3.8 または 4.0)を使用することができます。
ランタイムの問題
エディタがメニューから起動しない場合、または何かが正しく動作しない場合、コンソールで起動し、エラーのための出力を確認してください。
$ /opt/unreal-engine/Engine/Binaries/Linux/UnrealEditor
C++ コードプロジェクトの問題
コードプロジェクトを作成した後、新しいプロジェクトは Unreal Editor ではなくテキストエディタで開きます。エディタを再起動すると、新しいプロジェクトが表示され、開くことができますが、最初の実行では、コンパイルに約 30 分かかります。これはバックグラウンドで行われるため(GUI なし)、何もしていないように見えるかもしれません。CPU 使用率は、まだコンパイル中であることを示しているはずです。また、進捗状況を確認するために、コンソールからエディタを起動することをお勧めします。
UE でプロジェクトを初めて開こうとすると、エディタモジュールが古いというメッセージが表示される場合、IDE で UE5Editor ターゲットをビルドする必要があります。このビルドを中止しないでください。そうすると、Unreal Editor が壊れ、unreal-engine を再インストールする必要があります。その後、プロジェクトクラスを再ビルドするように求められ、その後、新しいプロジェクトに実際に取り組むことができます。
システムの仕様によっては、これらの再ビルドを完了するのに 1 時間以上かかる可能性があることに注意してください。
Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE
まず、プロジェクトのソースフォルダで、{nameofproject}.Target.cs および {nameofproject}Editor.Target.cs に "DefaultBuildSettings = BuildSettingsVersion.V2;" が base(Target) { ... } セクションにあることを確認してください。 それでも機能しない場合は、Unreal Engine ソースコードの Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp ファイルを確認し、`Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE";` 行を探し、最後の2つのオプションを削除します:`Arguments += " -Progress";`
- Unreal Engine を再コンパイルします。 - プロジェクトを起動し、再ビルドを受け入れます。
ツールチップを無効にする
UE4 のマウスオーバーツールチップは、非常に遅くレンダリングされる可能性があります。それらを無効にするために以下を追加します:
Engine / Config / ConsoleVariables.ini
Slate.AllowToolTips=0
KDE でのランダムフリーズ
KDE のファイル検索オプションで、ファイルコンテンツのインデックス作成を無効にします。
KDE でのツールチップのレンダリング遅延
Epic は、デフォルトでは停止されている Unreal Editor のコンポジットを許可することを提案しています。ソース:https://michaeljcole.github.io/wiki.unrealengine.com/Linux_Known_Issues/#KDE
マルチモニター設定でブループリントのウィンドウが空白
大きな空白のウィンドウを修正するには、Edit Preferences > User interface > Enable Window Animation に移動し、チェックボックスをアクティブにします。
AMDVLK を使用している間のドライバブロックリストに関するエラーメッセージ
AMDVLK は Unreal Engine によって公式にサポートされていませんが、この制限は、ドライバのブロックリストのセクションを編集/削除することで回避できます(推奨されません):
Engine / Config / BaseHardware.ini
[GPU_AMD Linux]
Additional Content
Starter Content
The StarterContent project is installed to /opt/unreal-engine/Samples/StarterContent/StarterContent.uproject, you can browse to it from the launcher.
Marketplace Apps
The launcher with the Unreal Marketplace is not available for Linux yet[2], so apps like the ContentExamples project cannot be installed from Linux[3].
The marketplace apps can be downloaded using the launcher on Windows (or Mac), they are stored in /Program Files (x86)/Epic Games/Launcher/VaultCache/.
There are several options to download Marketplace content natively:
- use lutris and the Epic Games Store installer, with disabled sandbox you can add content directly into your projects
- use Epic Asset Manager from flathub or eam-gitAUR which lets you download the assets to the vault
- there is an implementation of UE4 Marketplace Downloader written in JS.