Running On Linux
Template:Rating Once you have successfully compiled the Editor in Linux, this page will provide you with additional information on running it. The main page is Linux support.
Contents
Open Source (Mesa) Drivers
If you use Mesa drivers use at least version >= 10.4.x . Better use newer ones.
Ubuntu 14.04.1/2 LTS
The standard Mesa drivers in Ubuntu 14.04.1/2 LTS has the version 10.1.3 and will not be sufficient for UE4Editor. You can use the Oibaf ppa which updates your mesa drivers almost everyday to the newest version. Read Oibaf PPA for more information. In the following are the steps how to use Oibaf to get the newest and "Up to Date" Mesa drivers.
- sudo apt-add-repository ppa:oibaf/graphics-drivers
- sudo apt-get update
- sudo apt-get dist-upgrade
Restart your system just in case.
Fedora
The Mesa drivers come in a set of packages named "mesa-"; so e.g. from a terminal,
rpm -qa | grep ^mesa-
… yields the version numbers currently installed.
These are typically updated with the rest of the system, and as of Fedora 21 in Feb 2014, are version 10.4 (note that mesa-libGLU uses its own version numbering scheme). The lower-level drivers are in mesa-dri-drivers.
From the desktop (in a Terminal) you can run
pkcon update mesa-dri-drivers
(which uses the Gnome authentication; you usually must be an administrator, i.e. a member of group "wheel") Or on current Fedora
sudo dnf upgrade mesa-dri-drivers
On Fedora 19 or 20 perhaps
sudo yum upgrade mesa-dri-drivers
(Again, just running Software Update will normally do this along with every other package)
You could also use a program like "yumex" in the GUI to explore the package system. (The default "Software" program doesn't provide visibility to system libraries like this.)
Newer releases go to the Testing repository before going to Updates, which is normally disabled, but you can activate it for one transaction with a line like
sudo dnf --enablerepo=updates-testing upgrade mesa-dri-drivers
(or the same using Yum on ƒ20)
NB "dnf update" will do approximately the same thing as "dnf upgrade," but is more conservative about removing old packages and such.
Arch
sudo pacman -S mesa
If you are still experiencing crashes on Static Mesh generation or going through CacheOptimizeIndexBuffer function, see the following Answer Hub page for a possible resolution: https://answers.unrealengine.com/questions/191581/crash-in-cacheoptimizeindexbuffer-on-editor-startu.html
Nvidia drivers
You should get the newest drivers for Nvidia based gfx cards. Don't use the 331.x drivers because they might cause problems.
Ubuntu 16.04 / KDE Neon
- sudo add-apt-repository ppa:graphics-drivers/ppa
- sudo apt-get update
- sudo apt-get install <package name>
Ubuntu 14.04.1/2 LTS
- sudo add-apt-repository ppa:graphics-drivers/ppa
- sudo apt-get update
- sudo apt-get install <package name>
<package name> can be like nvidia-370. Check the list which drivers are supported. See here [1] for more information.
"Building static mesh...", various malloc crashes, and mangled gizmo (XYZ axes)
As reported here: https://answers.unrealengine.com/questions/183259/bug-ue4editor-manipulation-axis-rendering-error.html
Generally this happens with Mesa drivers.
Edit ConsoleVariables.ini and add r.TriangleOrderOptimization=2, if there's no such parameter, else change the value to 2 if the parameter is already there.
Font Corruption
As outlined in the following Answer Hub reports:
https://answers.unrealengine.com/questions/117323/editor-rendering-problems.html https://answers.unrealengine.com/questions/161055/font-problem-with-ue4editor.html
If you are experiencing screen/font corruption that looks like the image above, please update your graphics drivers.
OpenGL versions
If you have a graphics card and drivers that supports at least OpenGL 4.3 you can start the editor with the -opengl4 flag which will start the editor in OpenGL4 mode. This mode causes some issues in the editor's viewport, though. Here are some hints to make it work:
- Set the Anti-Alias level to "Medium"
- Switch off the Reflection Environment (r.ReflectionEnvironment=0) while using Reflection cubes or spheres (Sometimes necessary).
Nvidia Optimus
If you're running on an computer with Nvidia Optimus (Intel and Nvidia on a laptop), run the Editor through optirun or primusrun, otherwise you will run into OpenGL context issues and the editor will not run.
UnrealLightmass
If your lighting is failing or stuck at 0%, make sure that your firewall is not blocking port 6666 and/or 230.0.0.1 network. It uses those for multicast operation, and is safe to open/enable in your firewall.
sudo iptables -A INPUT -p UDP -d 230.0.0.1 --destination-port 6666 -j ACCEPT
Of if you have Ubuntu and/or Uncomplicated firewall (ufw) you can run this command.
sudo ufw allow to 230.0.0.1 port 6666 proto udp
Editor
Multi Desktop not supported
Do not try to use UE4Editor on separate "virtual" desktops. That means if you try for example to put a Blueprint, Matinee or the Cascade Editor window etc. into another virtual desktop, it will not work. You can use UE4Editor on multiple monitors.
Pan, Orbit, Zoom and Copy
The Unreal Editor supports Maya-style pan, orbit, and zoom viewport controls. Unfortunately it's using the ALT key on Windows which can be troublesome because that key is usually assigned to do other stuff in the world of X11/WM. To get the same behaviour like on Window change the assignment of the ALT key in you Window Manager.
Xfce
Go to Settings menu, select Window Manager Tweaks and select the Accessibility tab. Change the field: Key used to grab and move windows. Select one which does not use the ALT key.
Unity
Install Compiz Config Settings Manager (sudo apt-get install compizconfig-settings-manager in a terminal) and open it. Select "Window Management" and then the "Window Movement". Click on the button which is on the right side of the "Initiate Window Move" label. Select the "Enable" checkbox to disable or change it so that it does not conflict with other key combinations in UE4. Maybe "SHIFT" could be used.
Gnome
Gnome 3 defaults to using the Super (Windows) key instead of Alt, which should work fine. If you need to change it, install Gnome Tweak Tool (sudo apt-get install gnome-tweak-tool) and open it. Select "Windows" on the left side, then change the "Window Action Key" setting.
Building C++ scripts from terminal
If you prefer working without an IDE, and the built-in compiler tool is not feeding back useful compiler errors, it's possible to invoke C++ script compilation from the terminal, and make using the toolset easier. Inspired by this forum post, below is a set of .bashrc functions which can be used to build, generate and launch C++ projects.
Add these to your ~/.bashrc: (Replacing the /opt/UnrealEngine with your own path)
UE_HOME=/opt/UnrealEngine function unrealbuild { CURR_DIR=`pwd`; PROJ_NAME=$(basename ${1%.uproject}); $UE_HOME/Engine/Build/BatchFiles/Linux/Build.sh $PROJ_NAME Linux Development -editorrecompile "${CURR_DIR}/${PROJ_NAME}.uproject" -progress -editor -game -NoHotReloadFromIDE } complete -f -X '!*.@(uproject)' unrealbuild function unrealeditor { DIR="$( cd "$( dirname "$i" )" && pwd )" $UE_HOME/Engine/Binaries/Linux/UE4Editor $DIR/$1 } complete -f -X '!*.@(uproject)' unrealeditor function unrealgen { DIR="$( cd "$( dirname "$i" )" && pwd )" pushd $UE_HOME ./GenerateProjectFiles.sh -project="$DIR/$1" -game -engine -editor popd } complete -f -X '!*.@(uproject)' unrealgen # For automation tests, if used function unrealtest { DIR="$( cd "$( dirname "$i" )" && pwd )" $UE_HOME/Engine/Binaries/Linux/UE4Editor $DIR/$1 -Game -ExecCmds="Automation RunTests $2" -log } complete -f -X '!*.@(uproject)' unrealtest
Run it like this:
cd /path/to/ProjectName unrealgen ProjectName.uproject unrealbuild ProjectName.uproject unrealeditor ProjectName.uproject
Source Code Accessors
If you get a message: Unable to create C++ template based projects because "an IDE is not installed", it means you did not setup a code acessor
To use a specific IDE SourceCodeAccessor see the list below.
CodeLite
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=CodeLiteSourceCodeAccessor
If you are using Unreal Engine 4.9 >= you don't have to clone the accessor because CodeLite is fully integrated.
cd Engine/Plugins/Developer && git clone https://github.com/yaakuro/CodeLiteSourceCodeAccess
Videos:
- Playlist by Yaakuro at Unreal Engine 4 and CodeLite on GNU/Linux
Tips
- Allow only a single instance to open the editor
Select YourProjectName Target. Right click -> Settings -> Preferences -> Misc -> Allow only single instance running
- Change the default run to launch the game with the editor (like in VisualStudio)
Select YourProjectName Target. Right click -> Settings -> General In the Execution section, remove the -game from the Program Arguments
QtCreator
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=QtCreatorSourceCodeAccessor
If you are running an engine version that does not have this code accessor built in, run:
cd Engine/Plugins/Developer && git clone https://github.com/fire/QtCreatorSourceCodeAccess
Some official documentation on how to setup Qt Creator can be found at How to Set up Qt Creator for UE4
Videos:
- Additionally, you may wish to watch this video (NOTE fairly outdated) UE4Editor/UProject inside Qt Creator debugger, which shows you how to create a kit in Qt Creator capable of compiling your project for in-IDE debugging and editor debugging.
KDevelop
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=KDevelopSourceCodeAccessor
For KDevelop there is a plugin that comes with the engine source code that is automatically built with UE4Editor.
VIM or EMACS
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=SensibleEditorSourceCodeAccessor
If you are running an engine version that does not have this code accessor built in, run:
cd Engine/Plugins/Developer && git clone https://github.com/fire/SensibleEditorSourceCodeAccess
Sublime Text
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=SublimeTextSourceCodeAccessor
If you are running an engine version that does not have this code accessor built in, run:
cd Engine/Plugins/Developer && git clone https://github.com/erbridge/SublimeTextSourceCodeAccess
Eclipse CDT
Modify your Engine/Config/Linux/LinuxEngine.ini:
[/Script/SourceCodeAccess.SourceCodeAccessSettings] PreferredAccessor=EclipseSourceCodeAccessor
If you are running an engine version that does not have this code accessor built in, run:
cd Engine/Plugins/Developer && git clone https://github.com/bdidemus/EclipseSourceCodeAccess
Versions:
- https://github.com/mgerhardy/EclipseSourceCodeAccess - also works for windows and mac
- https://github.com/bdidemus/EclipseSourceCodeAccess - Fork updated for new versions.