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.