After a quite long period I thought to revive this newsletter. After reducing my output on several social media platforms, I thought to shut it down totally on every platform. I have a very good reasons for that, and one of them is that it takes lots of time but it does not give anything anymore. Social media platforms have changed in such way that it is impossible to reach random people (who may have similar interests) because there is heavy bias in all algorithms, and none of them favor “neverheard nobody” like myself. It is like trying to shout against storm wind. On top of that there is the toxic atmosphere, abuse, trolls and several other deeply negative factors which just increase the aversion I have towards most social media platforms.
Basically I have been active mostly on LinkedIn, but that too started to change another Facebook with similar quite biased atmosphere. Long time ago LinkedIn was quite good platform to reach people with similar professional interests, and almost all content was professional oriented. Nowadays it is almost opposite. Mostly it is just self-proclaimed “top voice in X, keynote speaker, Fortune 30 under 30, ex-FAANG” guru influencers advertising their own importance mixed with memes and getting-rich-quickly self-help posts. It is just one big mess.
That was at least while ago… I stopped reading anything there altogether. For quite awhile I have just posted something, but I never read anything. Then I thought, that actually this newsletter is perhaps the best place to do something like that. So, now I try to get more active in here, and leave those other platforms.
This time I would like to talk about a subject which does not get much attention. Although Linux has gained a considerable foothold in couple of decades, it still is quite unheard of in game development. As a long time Linux developer, I just want to show that there is a viable alternative… you can really develop games on Linux, and even using Unreal Engine.
Unreal Engine 5 and Linux
Every Unreal Engine Developer knows that UE supports multiple platforms, and you can compile your project for all of them using either cross-compile toolchains or native toolchains. UE supports e.g. Windows, MacOS, iOS, Android, AppleTV, several consoles, but people often forget that UE supports Linux, too. So… yes, you can make games for Linux using UE 4 and UE 5.
For several years it has been possible to not only develop for Linux platform but also develop on Linux platform. However, if you wanted to develop on Linux workstation, you had to compile Unreal Engine and editor from the source. Compiling UE from the source is educational, but a bit tedious process. Although I have done it numerous times, I don't recommend it unless you have some grave need for it, like engine customization, but otherwise you don't gain any kind of advantage with self-compiled UE.
This situation changed recently, and now Epic Games offers a precompiled Linux binary of UE editor. You cannot install it from launcher - you have to download it from Epic www page instead. You need Epic account, of course.
Download Unreal Engine 5 Linux
You will get a 20 GB setup package, but there will be additional downloads during the setup process. If you want, you can compile UE 5 from source instead. Then you have to download UE 5 sourcecode from GitHub, and run SetUp.sh and other scripts to download additional content and prepare the source code for compile.
Requirements for Linux based UE Development
Obviously you will need a workstation with Linux installed. Technically this could be a virtual machine (e.g. VMWare or VirtualBox), but if you plan to do real, day-to-day development on Linux, I recommend native installation. If you do not have an extra workstation for this, then you could try dual-booting system. However, this is just a hint - I am not going to explain how to use virtual machines or how to install windows and linux side-by-side.
Although Linux itself can run on very low spec machines, it does not mean that Linux can run heavy software loads on such, using some miracle technology. Linux is just like any operating system, if you do CPU or GPU intensive development, then you need a high end workstation. That is the case with Unreal Engine development, too.
As a side note: Interestingly, the hardware requirements for UE development have increased significantly during last 5 or 7 years, especially during the last 2 years. Of course, it is obvious that requirements increase during the years, but this recent increase has been more than expected. Previously there was no problem to use a bit outdated workstation for UE development regardless of UE features used in the project. Perhaps the FPS count wasn't the best, but at least you could developt and test.
Now it is different. If you do simple projects in UE 5, there is no problem. But if you try to use all those new features - Megascans and complex Nanite-models, ray-tracing in Lumen - and do it in large scale (like that City Sample demo), then you will find out, that you really need that high-end machine just to open the project. These new features often need lots of memory and quite new GPU card, and on top of that you need fast SSD drives.
Recommended system for Linux based Unreal development are:
Ubuntu 22.04 64-bit (UE 5.0.2+)
Graphics card with AT LEAST 8 GB or memory, with latest NVIDIA binary drivers
At least 32 GB RAM
Quad-core Intel or AMD
RHI Version should be Vulkan, 21.11.3+ (AMD) or 515.48+ (NVIDIA)
At least 85 GB of free disk space, preferrably a fast SSD-drive
Amount of disk space needed is really quite large. The downloadable zip-package is 20 GB. Extracted it will take over 52 GB of disk space. So you need at least 80 GB of free disk space. Of course, you should leave more space for you projects and other tools.
For development you will need:
Unreal Editor package downloaded from Epic www-site
Clang 13.0.1 compiler
One of these editors: Visual Studio Code, Qt Creator or CLion
Installation
When you have downloaded the UE package you can proceed with installation, which is very easy process. Just extract the contents of zip-file in your preferred location. However, this is just the editor, template projects, plugins, example content etc. You can open projects and develop them, but if you want to compile your project on Linux, then you need the correct native toolchain.
If you are developing with UE 5.0.2 or newer then you can download the clang-13.0.1 based toolchain from here:
Download: Native Toolchain for UE 5.0.2+
Usually UE setup shell script Setup.sh automatically downloads a native toolchain. This happens when you are compiling the UE Editor from the source, just like it does when you compile UE from source in Windows.
An Alternative… Cross-Compilation
Developing natively on Linux makes testing on Linux easier, but it is not mandatory. You can also cross-compile for Linux on a Windows workstation. For cross-compilation you need also a proper toolchain. If you are developing with UE 5.0.2 or newer then you can download the clang-13.0.1 based toolchain from here:
Download: Cross-Compile Toolchain for UE 5.0.2+
When you have installed it you can choose Linux as a build target, and build your project just like you would for Windows, and it should work on any recent Linux distro, which has kernel 3.x or newer, and glibc 2.17 or newer.
Next time I have another Unreal Engine subject prepared. In the future I will publish not only development subjects but also some Planetrism fiction stories, which will open up some background histories from Planetrism universe and its history.
I am so happy that this newsletter is back!! thank you Mike!!!