Developing with Unity3D on Ubuntu

October 31, 2015

Well, I never thought I’d see the day! Over the course of one week, specifically from the 19th of October 2015 to the 26th of October 2015, I took part in GamingOnLinux.com’s first ever Linux Game Dev Jam.

Over the course of that one week, I took the experimental Linux build of Unity3D [version 5.1] and built a first-person shooter game for Linux. With how everything worked, I can say successfully that I developed for Linux on Linux!

Here’s a video that shows some footage from the game, and also includes a time lapse of my development over the 7 days.

The Linux version of Unity3D is not without bugs though. Several I personally experienced were:

  • The Editor would crash everytime I tried to bake the Lightmap for all static objects in the scene.
  • RenderSettings does not obey changes from the script-side, but does obey Inspector-side changes.
  • Mecanim would not reset certain animations after changing scenes a certain number of times.

There were a couple more nuances with the editor, but in the end I was able to make use of most of it. The final game was of course buggy, had a hideous night atmosphere, and all around felt quite unpolished. It did however showcase what can be done by one semi-knowledgable individual in the span of one week with a lot of pre-made assets and a few self-made ones.

The power of the new UI system has to be one of the more enjoyable aspects of Unity 5. The previous OnGUI would have prevented a lot of the cool things I managed to get done in this one week. For example, interacting with certain crates would generate a UI with information on what was inside the crate in real-time thanks to the new UI system and prefabs. Trying to do this with OnGUI is unimaginable. You would have to code everything down to where exactly on the screen things would go and how they would need to respect the aspect ratio. With the new UI, you can do all that inside the editor directly and entrust it into prefab form. Is it the most beautiful looking game? Not at all. However, the shear amount of functionality I could squeeze in for a duration of 7 days is amazing.

I’m very thankful to the Unity team for bringing this amazing piece of software over to the Linux side. Here are some links for those interested.

Link to the game I made:

http://myromance123.itch.io/survive-the-unknown

Link to the GOL Game Dev Jam page:

http://itch.io/jam/gol-game-jam

Link to the Linux build of Unity3D:
http://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/