Unity and JetBrains Rider on Fedora via Flathub

As I mentioned last year in my 2019 in Programming post, I created a bunch of 2D games in Unity by following along with the Gamedev.tv classes. I would watch the videos on Linux and jump over to my Windows computer for the programming, learning how to use SourceTree and Microsoft Video Studio in the process. But for some reason, going back and forth with the KVM when running Unity would sometimes freeze up the Windows computer. So when I saw someone on Fedora Planet running Unity Hub, I thought I’d see if there was a Flatpak – and there IS! Also, I’ve fallen in love with JetBrain’s Pycharm, so I thought I’d go ahead and use their game dev IDE, Rider. (There’s a Flatpak for that, too!) So, let’s see how well this works!

Apparently if you go this route, you have to handle licensing first. Just clicked on manual activation. That led me to login to Unity.com with my already-extant Unity creds. After answering some questions about how much money I make with Unity, they gave me a license file that I attached to Unity hub. Then I went to the General section on the left there to tell it where to install Unity versions. Once that was done, the hub more or less looked like I remembered it on Windows.

I already knew, from my previous forays, that I would need to add a Unity install, so it was off to the Installs section. This is what the selection looked like:

I don’t know if this is how it is on Windows now, too, since it’s been a long time since I worked in Unity. But, having found myself with a new version of Unity every time I signed in – I’m glad they have LTS versions, now. The CentOS of Unity, if you will. I went and checked the next course I want to do, GameDev.tv’s Unity Multiplayer class (here on Udemy and here on Gamedev.tv), and they want 2020.1. So I’ll install that version. For some reason, it wouldn’t let me download that version – it complained it would take up too much space (even though I have 900ish GB free and it said it would take up 10GB). But it decided it could install the LTS version. So, in the interest of seeing if it could open and run the games I’d previously developed, I just went with the LTS version for now. It quit out and complained about a corrupted download. But I don’t know where it was downloading to, because nothing was in the folder I told it to download to. If it is downloading somewhere else first, like /tmp – maybe that would explain the issues.

Eventually I tell it not to do any runtimes and I keep trying to install a bunch of times. Like a reverse Murphy’s law – as soon as I start posting about the problem on the /r/unity3D subreddit it starts working.

Despite my inability to install Unity 2020 over two days (edit: after literally 10 tries, restarting Unity Hub and restarting my computer, I finally got Unity 2020 to install), at least it ran my code from last year’s class ok, including upgrading it to the LTS version (which came out after I last worked on it). When I hit play it also ran reasonably well – didn’t seem to be at some incredibly low FPS. (Of course, this is a 2D game without lots of resources, but that’s still encouraging). It wanted me to have VS Code running. I think I also saw that on Flathub, but I decided to see if I could somehow get it to work with Rider in Flatpak form.

I launched Rider for the first time and it started off by asking for my preferences. First off was the UI theme:

And what kind of hacker would I be if I didn’t go with dark? Then it was time for the color schemes:

If I’d used a bunch more Visual Studio, I’d go with the middle selection. I’m a big fan of the Dracula themes I’ve been using in various editors, but I don’t think that’s the same as their Darcula theme since that mentions Intellij. So I just went with Rider Dark.

I didn’t have any particular preference here, so I just went with Visual Studio since I figured that would probably match shortcuts that the GameDev.tv guys would use. I decided not to do a Desktop Entry since, a you can see at the top of the next screenshot, it already seemed to have an icon:

I don’t have the environment installed for C#.

A quick bit of Googling seems to imply that Unity is using Mono for their C#, so I will try and get that installed first. After a bit of searching, I installed the mono-complete package on Fedora.Then it was time to choose Plugins.

I didn’t do any featured plugins. Afterwards I chose the free 30 day evaluation (maybe there isn’t a community version like Pycharm?) and decided to open my Block Destroyer project.

It didn’t automatically install the Rider Unity plugin, but I blame that partially on flatpak and partially on Fedora. (Everyone assumes Linux Unity dev is on Ubuntu or Centos 7) In the end I couldn’t quite figure out how to connect the two, but I think it’ll be easy enough to just load the files after I create my project. I did test that editing it in Rider will eventually recompile it in Unity once it realizes that the file has changed on disk. So I’m going to give this a shot for that new GameDev.tv class. I’ll report back on whether it’s worth it or if you should just stick to Windows (or Ubuntu) if you’re doing Unity game development.