Does anyone have experience developing with Unity 3D game engine on Pop!_OS?
I’m thinking of leaving Windows and Pop seems to be the most painless transition, but I want to get into developing for Unity so that’s a must for me (I can’t use Godot as the SDK I want to use is on Unity only).
Does it work without issues? The Unity site says it works on Ubuntu 18.04, 20.04, 22.04 so not sure if that translates over to Pop. Any advice would be appreciated :)
Worst case, is developing on Unity via Wine an option? I don’t know much about Linux so hopefully that’s not a dumb question 😅
Anything that says it works on Ubuntu should 99.9999% likely work on Pop, because pop os is built from the Ubuntu package base
Awesome, thanks! Do you think the specific versions of Ubuntu mentioned matter?
If unity gives a different download for each, you would have the best luck with whatever version matches closest (so the 22.04 download on current pop_os). Basically the more system dependencies the program has the more likely you will run into conflicts installing on a mismatched OS, but it isn’t guaranteed to cause problems (e.g. program requires openSSL version 1.2, but my OS ships with 1.1). I think unity just bundles everything with the binary, so it should be fine.
For what it’s worth, i used it on Ubuntu back when it was still in beta and it was super buggy (the installer and account stuff mostly, the engine itself seemed ok), so hopefully their Linux offering has since improved.
Here’s hoping. Thanks for your answer! I really can’t abide what MS is doing with Windows so I’d rather switch. Do you think using Wine would be a feasible workaround in the worst case scenario?
You will probably have waaaay more issues trying to get the windows client working through wine than dealing with any hiccups on the Linux client. It was buggy but passable like 5-6 years ago so I’m sure it’s much better now
You can try running it through a VM first before making the switch - 3d performance will be horrendously bad, but at least it will give you some piece of mind.
I moved away from Unity after the whole pricing fiasco (it wasn’t the only reason but rather the final push) but I had no technical problems working with it for a good few years. As long as the SDK you need works on Linux you should be good.
Awesome! Thank you so much!! I didn’t think about the SDK needing to be compatible, I should look into that. Would using Wine as a worst case scenario work?
Yep
I was running Unity on Pop!_OS a year ago before the pricing scandal, which made me switch to Godot. I highly recommend Godot!
I had an absolute mess of a time trying to get Unity working on Linux. Even once I got it working, it had an issue where hovering over the Burst menu would cause the whole OS to lock up and I would have to reboot. It wasn’t a good experience. I’ve never used Wine so I don’t know if that would be any better.
When I first got it working, I wrote down the steps I took. I don’t know if this is everything I had to do or if I forgot a step, but it might be a good starting point.
- Install Unity Hub from the Pop!_Shop. I vividly remember not being able to get it to work right any other way.
- Install .NET and Mono via flatpak. I wrote down that it had to be version 6 of both SDKs, don’t remember why.
- Install the flatpak version of Visual Studio Code. You can do this from the Pop!_Shop if you want.
- Get the C# extension for VSC if you don’t have it.
- Once in Unity, go to “Edit/Preferences/External Tools” and check “Generate .csproj files for:”
- Embedded packages
- Local packages
- Registry packages
- Git packages
- Built-in packages
- Click “Regenerate project files”
- When you open a script, Unity will tell you to set “Omnisharp: Use Modern Net” to false in VSC’s settings. Do this to get code suggestions.
I hope this helps! Welcome to Linux! If you need clarification on any of this, just ask.
Thank you so much for the write-up! I’m saving this!!
For some reason I didn’t include this in my original comment, but to install the flatpaks of .NET 6 and mono 6, you’ll need to use the terminal. Here are the commands I used:
flatpak install flathub dotnet6 flatpak install flathub mono6
<3