Unreal Engine 4

From ArchWiki

Unreal Engine 4 is the latest version of the videogame engine created by Epic Games.

The content of this article was originally written on Unreal Engine wiki and adapted specifically for Arch Linux.

Prerequisites

See Recommended Hardware.

Gain access to the source code

The Unreal Engine source code is in a private Github repository requiring free registration with the developer (Epic Games) for access.

To gain access, login or register at Epic Games Accounts and provide an accessible GitHub username at the bottom of the Epic Games 'Connected Accounts Dashboard' page. You will then receive an invite to access the private Github repository.

Clone

Faster cloning only the desired branch. Example: $ git clone [email protected]:EpicGames/UnrealEngine.git --branch release --single-branch

Compilation

You can compile manually from a downloaded GitHub release or install from AUR.

Compile manually from source code

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Instructions differ greatly from the PKGBUILD in the AUR (Discuss in Talk:Unreal Engine 4)

You can get the most recent releases on GitHub as zips. Please note: access to this private repository requires an invitation to the Epic Games Organization. An invitation can be acquired by linking a github account to an Epic Games account.

Setup:

$ ./Setup.sh

Generate project files:

$ ./GenerateProjectFiles.sh 

Then compile:

$ make -j1

This will compile the Unreal Engine and the Unreal Editor.

Installing from the AUR

Unreal Engine 4 is available in the AUR as the unreal-engineAUR package. You might have to fix permissions for UE4 to precompile shaders on first launch:

# chmod -R a+rwX /opt/unreal-engine/Engine

The package is ~70 GiB installed (after compiling shaders on first launch) and needs ~120 GiB to build with an output ABS package of ~9 GiB when compressed. This AUR package downloads ~10 GiB of source files plus ~5 GiB of dependencies.

Since the repository is private, you can set up an SSH key so your GitHub account is used to download the source.

For a smaller download you can use .zip releases as a source for PKGBUILD. Note that this link will not work unless you first follow the steps outlined above.

Compilation time

The compilation can take from 20 minutes up to a few hours depending on your machine. As an example on a AMD FX-8350 (8 threads) with 16GB DDR3 on a SSD and Clang 3.8.1 takes roughly 40 minutes. (This does not include shaders compilation)

Troubleshooting

Compilation problems

If the compilation fails you should try building the Editor using the Debug profile[1]:

$ make UE4Editor-Linux-Debug

However, this might have some performance impact.

Another approach would be to use different clang version (e.g. 3.8 or 4.0)

Loading times

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: glibc-dso has been removed because the fix is apparently now in the main package[2] (Discuss in Talk:Unreal Engine 4)

The editor takes a long time to load. A patched version of glibc, glibc-dsoAUR[broken link: package not found], can be used to alleviate this issue. Once the package is installed, enable the optimization by setting the following environment variable[3]:

GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2

Runtime problems

If the editor does not start from the menu, or something does not work right, start it in a console and check the output for errors.

$ /opt/unreal-engine/Engine/Binaries/Linux/UE4Editor

C++ code project problems

After creating a code project, the new project opens in a text editor instead of in UE4Editor as it should. After re-launching the editor, the new project shows up and can be opened, but on the first run, it takes a half-hour or so to compile, and since this happens in the background (no GUI) it might not seem to be doing anything. The CPU usage should show that it is still compiling, and you may want to launch the editor from a console to see progress.

If while trying to open the project in UE for the first time, you get a message about editor modules being out of date, you need to build the UE4Editor target in your IDE. Do not abort this build, or you will brick UE4 and will need to reinstall unreal-engine. Afterward, it will open and ask you to rebuild the project class, after which you can actually start working on your new project.

Note that completing both of these rebuilds can very well take over an hour, depending on your system specs.

Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE

First, in your source folder in your project, check that {nameofproject}.Target.cs and {nameofproject}Editor.Target.cs has "DefaultBuildSettings = BuildSettingsVersion.V2;" in the section base(Target) { ... } If it does not work, check the file Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp in your Unreal Engine source code, look for the line `Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE";` et remove the two last options : `Arguments += " -Progress";`

- Re-compile Unreal Engine - Launch your project and accept the rebuild

Disable Tooltips

UE4's mouse-over tooltips might be rendered very slow. They can be disabled by adding to

Engine/Config/ConsoleVariables.ini
Slate.AllowToolTips=0

Random freeze under KDE

Disable index file content in the KDE file search options.

Slow rendered tooltips in KDE

Epic suggests allowing compositing for the Unreal Editor, which is stopped by default. Source: https://www.ue4community.wiki/Legacy/Linux_Known_Issues#KDE[dead link 2021-11-19 ⓘ]

Blank window in Blueprint with multi-monitor configuration

To fix the big blank window go to Edit Preferences -> User interface -> Enable Window Animation and activate the checkbox

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[4], so apps like the ContentExamples project cannot be installed from Linux[5].

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: