Pre-migration questions for UE 4 (and 5), moving from Windows to Linux

Background: I am newly coming to UE from another engine, fairly experienced with C, C#, and Java but new to C++, and I have been a Linux sysadmin for many years.

I want to migrate my development system from Windows 10 to Linux, now that all my chosen tools can run natively on Linux. I have a few questions that I’m hoping can help me plan the Linux installation, as I haven’t done that yet (the first question, below, will explain why).

  • I note that only Ubuntu is officially supported, but I prefer Debian because that’s what I run on servers. Comparatively speaking, have people encountered fewer issues on Ubuntu? I’ll install that instead of Debian if there’s an advantage to doing so.
  • My GPU is an Nvidia Quadro RTX4000. Which graphics stack on Ubuntu or Debian should I be using, to get the best performance and fewest problems with UE? Are the Nvidia non-free drivers the best choice?
  • I’ve read several threads discussing IDEs and code editors for Linux, and my impression is that I could reasonably expect to use my preferred JetBrains Rider and/or vim. Does anyone wish to share advice on the Rider integration process? (I have the Rider/UE beta plugin running on Win10 now; I haven’t checked if that’s supported on Linux yet or not. If not, I don’t mind just using Rider as a standalone editor.)
  • Alternatively to Rider, I would consider using Visual Studio Code as the editor, since as far as I can tell there is no Linux version of VS Community. (One would think that if VS Community is developed in .NET, I’d be able to run it in Mono on Linux, but I don’t see any evidence of that online.) Is VS Code a viable option for UE on Linux, at least as a standalone code editor?
  • Do Linux users generally recommend cloning from GitHub, versus downloading the ZIP file periodically to update? How aggressive should I be about my choice of which Git branch to track, and about how often to pull from upstream and recompile?
  • On Linux, how do I install assets from the Marketplace into my project? Is there a Linux version of the Epic Launcher, or if not, what’s the alternative?
  • In the short term, my builds will target the major desktop platforms (Linux, Win10, and MacOS), with Android and IOS probably added later. My applications are non-game engineering and related, so I am not concerned with targeting gaming consoles. I didn’t see much discussion of this in the UE4 C++ documentation, so is there a reference somewhere for what targets can be built on which development host systems?
  • My assumption is that I’ll be able to easily build UE standalone servers and test them right on the Linux dev host. Is that a realistic assumption, given that my mobile workstation has an 8-core CPU and 64 GB RAM? (I could expand the RAM if needed.) I have access to plenty of actual server hardware for production deployments; I just want to be able to test on the dev host.
  • In connection with the preceding question, does UE standalone server need to listen on some of the same ports as the editor and/or a client? If so, can I work around this by creating a virtual NIC (e.g., eth0:1) and directing the server and client to bind only to a specific IP address?

Thanks for any information related to these questions, as well as any general advice or recommended tutorial links. I will, of course, keep researching and RTFMing on my own, but since I want to do the Linux installation this week, I’m starting the forum query in parallel.

:penguin: = :crown:

  1. I use ArchLinux just fine, so Debian will probably work for you.
  2. I’m using free Nvidia drivers with a much worse GPU, so it should be fine.
  3. I vim for code editing and then use make for building or just compile in the Editor
  4. Doesn’t sound possible to me.
  5. Definitely clone the repository instead of downloading the ZIP, because you’ll save lots of internet bandwidth by just downloading the delta. On UE4 use release brance, for UE5 use the ue5-early-access. Those are the stable release branches. The master branches are a mess.
  6. I use the Epic launcher on Windows to download the assets to my project, then just copy the asset file to Linux. It works without problems. I think there is a Migrate Projects option for assets if you’re worried about dependencies.
  7. On Linux, you can build for Linux, Android. On Mac you can build for Mac and iPad/iPhone. On Windows you can build for Linux, Mac, Windows, Android, and probably iPhone.
  8. I don’t know
  9. You can set the port in the project’s settings. Besides that, I don’t know.

Beware, the Unreal Editor takes 3-4 minutes on Linux, as opposed to 10-30 seconds on Windows.

Hope this helps!

1 Like

It does, thanks! I wonder why the startup is so long on Linux? That sounds horrid!

I don’t know why it takes so long to start up on Linux. I’ve seen many, many threads on it. It’s been happening for years, and can’t be solved. But, I still use Linux because Windows… isn’t my thing.

1 Like

So, I’m not crazy – UE does take 3-4 minutes to start up. Thought I did something wrong with the build.

1 Like

I found an Answer Hub thread that has some concrete suggestions that some have found helpful:

https://answers.unrealengine.com/questions/1030493/view.html

One person suggests storing the system and the UE executables on ext4 rather than on NTFS or FAT32. I would go further and suggest using XFS instead of ext4.

This leads me to a related question, though: Is it valid to open the same UE project, at the same physical disk location, from both Linux and Windows versions of the UE editor? I was planning to have different workspaces and use our source code manager (PlasticSCM) to sync between them – in other words, treating my dual boot environment as if I had two separate laptops. It might be useful to have the option of just sharing one workspace for some sandbox-type projects where I might not want to bother checking them into Plastic.