Unreal Engine 4

From ArchWiki
Jump to: navigation, search

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

Minimum hardware requirements

  • Intel or Amd CPU@2.5GHz Quad Core 64 Bits
  • GPU: NVIDIA GeForce GTX 470 or AMD Radeon 6870 HD series
  • RAM: 8 GB

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[1].

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.

Compilation

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

Compile manually from source code

You can get the most recent releases on GitHub as zips.

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.

The package is ~28 GiB installed and needs ~100 GiB to build with an output ABS package of ~4.5 GiB when compressed. This AUR package downloads ~9.5 GiB of source files plus ~4.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.

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 doesn't include shaders compilation)

Troubleshooting

Compilation problems

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

$ 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)

Runtime problems

If the editor doesn't start from the menu, or something doesn't 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's still compiling, and you may want to launch the editor from a console to see progress.

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 suggest to allow compositing for the Unreal Editor, which is stopped by default. Source: https://wiki.unrealengine.com/Linux_Known_Issues#KDE

Blank window in Blueprint with multi-monitor configuration

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

The marketplace apps can be downloaded using the launcher on Windows (Mac may also work), they are stored in:

   /Program Files (x86)/Epic Games/Launcher/VaultCache/

Also there is an implementation of UE4 Marketplace Downloader written in JS.