It’s 2016 and that means I get a fresh new attempt to update my development environment! I’ve dropped MOAI and my Chaurus framework 5-6 months ago, in favor of Unity. Been using Unity 5 at work for quite a while now and I’m comfortable enough with it. And since Unity officially embraced Linux as a development platform I decided to take it for a spin on my home development computer. How does it fair? Egh….. it kinda works!
Installing Unity 5 on Ubuntu 15.10
Ubuntu is the officially (yet unofficially) supported Linux distribution for running Unity 5. To install it all you have to do is download the latest .deb file from the release post on the Experimental Linux forums from Unity3D.com. Make sure you scroll down to the last post to get the latest version. Download the .deb file, run it and install it via the Software Center. Other debian-based distros can also get away with installing Unity via the .deb file using GDebi or the terminal. There is also a platform agnostic script on the forums, but you are required to hunt down and install all needed dependencies manually. The download is 1.1GB in size so, depending on your internet connection, you might want to brew yourself a cup of coffee think really hard about your choices in life. Now, once the download is over….
5 Bugs you are going to run into after the download completes
Yep, there’s a reason the forum category is called Linux Editor Support & Feedback (Experimental)! First bug that is bound to creep out on you will be the Unity Splash Screen and a blank window titled “Recent”! There are the default screens you see when you load up Unity on Windows or OSX (and now Linux ♥) only instead of allowing you to load up or create a new project it will just stay there and wait! Now this happens because the “Recent Panel” is searching for project files in a folder it never got around to create.
The fix is easy, manually setup the folder it needs:
mkdir -p ~/.local/share/unity3d/Packages
Note that some users reported that they also needed to install NPM to get this working. Luckily for us it comes installed by default (at least on 15.10). If you don’t have it just apt-get it from your repositories.
With that issue out of the way head out, login in or create an account and setup (or load) a new project! Time for round 2!
Mouse coordinates are off in the Game view if you are using any resolution other than “Free Aspect“. I’ve spent a few hours porting Roguesweeper over from MOAI (and Chaurus) to Unity and at least 15% of that time was spent figuring out why my mouse/touch inputs weren’t passing through. For a while there I created a virtual pointer that could be controlled via the keyboard before switching to Free Aspect by accident. No work around for this one yet. Hopefully the next version will contain a fix.
MonoDevelop doesn’t quite install….-ish! Unity tries to setup something but you are better off installing it yourself from the repositories. Also make sure to open Unity Preferences and enable MonoDevelop from External Tools. Else, you might go down my route and install Sublime Text (no auto-complete for now).
Shortcuts? Who needs them! My co-worker says that you should only use one hand when operating the computer or else it’s not streamlined enough. Joke aside, this is one thing that will hinder your productivity. F2 to rename? Try right clicking and selecting the rename option. Ctrl+C/Ctrl+V work consistently though! Again, no workaround that I know off.
Drag and Drop into Scene view doesn’t work! Roguesweeper is made mostly on tiles and quads over which I apply a texture. If you just create a new 3D object (be it cube, quad or etc) it will not have a material and texture attached to it. Normally you would just drag the texture from the Project View onto the object and then edit it’s material/shader/etc. Well, dragging and dropping in the scene does not work, so you will have to drop your textures/material/scripts over the objects name into the Hierarchy.
So, is it good enough to warrant a switch from Windows to Linux?
Some quirks aside, Unity 5 is usable on Ubuntu! I’ve spent the past 24 hours with it and, besides an incredible urge to download and try the GoDot engine, I can say it’s usable. It’s getting there and I’m sure that in a few months the experience will be (more-or-less) seamless between using it on Windows, Mac or Linux!
But let’s take a look at building for different platforms. Right now I used Unity to build WIP versions of the new Roguesweeper for WebGL and Linux (x86_64). WebGL seems to work flawlessly (click here for a test drive) but the Linux build crashes on any resolution if the quality is higher than Fast! But to answer this paragraph’s question: it’s up to you! For now, I’d say skip it if you are required to use Unity! Stick to OSX and/or Windows. In a production environment it would be unwise and unhealthy to switch over to Linux. But if you use Linux as your main platform (like yours truly) and have been dying to give Unity a go then go-ahead. Chances are you will like it. It’s good enough for me right now, especially since, at home, I’m only using it to port my portfolio projects for the web (WebGL ftw). In the future, I have no doubt the experience will be on-par with the other platform siblings!
Got any questions or suggestions (even workarounds for some of the above bugs) feel free to post/comment!