Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

I'm not entirely sure when this went live but it appears that Epic Games have finally released a full proper download of Unreal Engine for Linux developers. Seems a lot of people noticed only today, although the page mentions the build was released Jul 12 - 2022, with GOL getting messages about it everywhere so it seems like a fair few find this quite exciting.

Previously, to use Unreal Engine on Linux you would need to compile it yourself from the source but now that's no longer the case. To get it you need to have accepted their EULA and be logged in with an Epic Account, once done it will offer up the ~20GB download to get you going but it mentions needing ~60GB for the full thing. Additionally, it seems their main supported Linux distribution is Ubuntu 22.04 although it appears to run just fine on Fedora 36:

You can see more of the Linux requirements here.

Considering all the issues with Unity lately from joining with ironSource, their CEO calling some game developers "fucking idiots" and when that made the news that same CEO said on Twitter it was "Clickbait" only to then later apologise, this might be a good time for Epic Games to push their way through to pull in even more developers into their ecosystem.

So much great news for Linux gaming and even Linux game development lately, it's nice to see so many moving parts.

Article taken from GamingOnLinux.com.
36 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
34 comments
Page: «3/4»
  Go to:

mborse Jul 22, 2022
Quoting: gradyvuckovic
Quoting: elmapul
Quoting: gradyvuckovicI think sometimes the more technically skilled developers (or Linux users for that matter) forget that even among developers, there are those who are certainly capable of writing a bit of code and running a python script or clicking compile in an IDE, but struggle with something like compiling a complex piece of software through a build system like cmake, resolving dependency issues, etc.


worse, they forget that there is a magic thing called "learning curve"

Too right!

Even for the technically proficient, it takes an investment of time to learn how to use something, and the more complex / less documented / less user friendly that thing is, the bigger the time investment required.

In the case of porting some UE games from Windows to Linux, for some indie devs only really looking at the prospect of perhaps 10,000 sales total across all platforms, that time investment required to figure out how to obtain, compile and correctly configure UE, on top of all the 'first time user' learning required just to correctly setup and use Linux, wouldn't be worth it, for what would amount to possibly only a few hundred potential customers.

So anything that reduces the barrier for entry, is definitely a good thing.

There's a build script and a README with all the steps. It really isn't hard. It's even easier if you have a more or less "standard" distribution (by this i mean a Ubuntu LTS such as 20.04 for example), nothing too modern or too old. Configure and compile UE is trivial, or should be even to the most rookie of developers. If you have your own forks and game code upon it, writing portable standard code is a matter of good practice, and there are plenty of tools to assist you with that that even rookies can use (thinking about some static analysis tools, code conformance, etc). Note, i'm not advocating using UE or anything, but there are some (mis?)conceptions here that intrigued me, that's all.


Last edited by mborse on 22 July 2022 at 4:51 am UTC
soulsource Jul 22, 2022
Quoting: mborse
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)

I was thinking about the same, but have a bit of frustrations with (custom) forks since UE development occurs so fast that i was bitten more than once by breaking changes in the APIs, even with what were supposed to be small point releases. Lighting and shading, BxDFs in particular come to mind. But back to the discussion, the lack of binary releases for UE is a non-issue since the target users are developers anyway.
Yeah, I've just yesterday had a similar experience with some custom optimizations in decal rendering, that we (for the moment) decided not to merge into our UE5 projects, because it would require non-trivial manual merging...

In general we are trying to stay as close to upstream as possible in our project-specific engine forks. Most of our changes are backporting some fixes from newer engine versions, or fixing some issue inside a function. We try not to change any public APIs if possible. If something can easily be fixed or worked around on the project side, we strongly prefer that approach, going as far as duplicating engine classes in-project if it makes sense (for instance we have our own modified copy of TOctree2).
The one area inside the engine that we do modify heavily per-project are the online subsystems. Our multiplayer use cases are significantly different from what Epic needs for their games, therefore we usually have to add some features to multiplayer session handling functions (just as an example, we need to update session metadata while the session is running and forward that change to all players in the session, what is not fully supported out of the box by some online subsystems)...


Last edited by soulsource on 22 July 2022 at 6:53 am UTC
Juso3D Jul 22, 2022
Quoting: t3gAnother reason to get the HP Dev One laptop since it runs the Ubuntu 22.04 based Pop!_OS. 😎

BlooAlien Jul 22, 2022
While I used to be a huge fan of Unreal Engine, Epic done burnt this bridge down with me a long time ago. I'm sticking with Godot engine for the forseeable future.
gothangel1 Jul 24, 2022
I can play sims 5 on Linux ?
Dribbleondo Jul 24, 2022
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)

Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
soulsource Jul 24, 2022
Quoting: Dribbleondo
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)

Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
Yep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell.
What some other "Blueprint only" projects do is that they create the low-level building blocks in C++ and expose them as Blueprint nodes, so that only the high level logic is done in Blueprint. That has the advantage of having a small (-> readable) visual representation of the high-level flow, while all the low-level details, that would be hard to read in visual form, are implemented as text - and in addition, performance critical code paths tend to be in C++ then too.
(We used this approach for the mission setup in two of our games - the low level stuff was done by coders in C++, the high-level logic in Blueprint by designers, the bugs by a lack of communication between those two groups.)
Eike Jul 24, 2022
View PC info
  • Supporter Plus
Quoting: soulsourceYep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell.

Nice, a blueprint for water that itself looks like water. :D

link


Last edited by Eike on 24 July 2022 at 11:01 am UTC
Dawgsome Jul 26, 2022
How do I launch Unreal Engine? I extracted the archive but there aren't any instructions as to how to install the Engine
mborse Jul 28, 2022
Quoting: soulsource
Quoting: Dribbleondo
Quoting: soulsource
Quoting: salomFinally!
I promised my self back in 2018 to never (compile, use or learn) UnrealEngine until they give us proper Linux support and a native build
Why? If you want to do anything reasonable with Unreal, you'll need to set up a build environment for C++ scripting anyhow (yes, there is Blueprint, but as soon as your project grows beyond "game jam" size, Blueprint scripts become so large and convoluted, that they are hard impossible to read/maintain). After using Unreal for a few days, you'll find yourself in the situation that you'll want to modify the engine because your project gets blocked by a bug in it. That's then the point where you uninstall the precompiled engine, compile it from source, and ask yourself why you thought it was a good idea to waste time on the precompiled build in the first place.

(Edit: Please take this with a grain of salt. I'm currently working with Unreal professionally, and had enough opportunities to get frustrated by it.)

Fun Fact; Spyro Reignited's ability codebase is done entirely through blueprints.
Yep, the GameplayEffects framework is pretty powerful and helps structuring the blueprints to avoid ending up with Blueprints from hell.
What some other "Blueprint only" projects do is that they create the low-level building blocks in C++ and expose them as Blueprint nodes, so that only the high level logic is done in Blueprint. That has the advantage of having a small (-> readable) visual representation of the high-level flow, while all the low-level details, that would be hard to read in visual form, are implemented as text - and in addition, performance critical code paths tend to be in C++ then too.
(We used this approach for the mission setup in two of our games - the low level stuff was done by coders in C++, the high-level logic in Blueprint by designers, the bugs by a lack of communication between those two groups.)

Oh wow... i wish i could unsee some of those blueprints.
So in general terms do you prototype things in the editor blueprints and if worth it, you re-implement it as a building block? What criteria do you use mostly for this? Encapsulation factor for neatness, reusability, or both?
I agree about the lack of communication as well, specially when designers most of the times lack lower level knowledge that is useful, even if superficial.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.