Oliver Smith
on 24 January 2022
Linux game development on Ubuntu: Godot and Unity
A new year, a new instalment of our gaming on Ubuntu blog series! This month we’re covering Linux game development tools on Ubuntu Desktop, something that may be particularly useful for anyone taking part in the upcoming Global Game Jam.
Global Game Jam is the world’s largest game creation event taking place all around the globe. Participants run 48-hour game development hackathons, and every project is based on the same theme, announced during the Global Game Jam video keynote. It’s a great way to get started with game development if you’ve never tried it before. For veteran developers, it’s an opportunity to experiment or try out new ideas that might not be possible on their regular projects.
Linux game development on Ubuntu
Whilst game development tools on Ubuntu are still maturing in a lot of ways, that doesn’t mean it’s impossible- or even that difficult- to create great games on Linux. In this post we’ll take you through two of our favourite game engines currently available on Ubuntu Desktop; Godot and Unity.
Getting started with Godot
Godot is first on our list because it is free and open-source, which means that you have complete control over everything you make with it. The engine supports both 3D and 2D games, has a Python-like scripting language and exports to desktop, console, web and mobile platforms.
Godot is a really versatile tool and a good place to start learning game development. It also has an active and welcoming community if you’re looking for support or even to contribute!
It’s also the easiest app to install since you can find Godot in the Ubuntu Software app or on snapcraft.io.
Once you’re up and running check out the Godot Docs to view a range of tutorials that will help you get started!
Getting started with Unity
Unity is the world’s most popular game development platform and is the foundation of many of the best PC and mobile games you can play today.
It’s also used for more than just video games. As a simulation environment, it integrates with tools like ROS for Robotics and also makes a great training environment for Machine Learning.
You can read more about ROS and Ubuntu here.
Download the Unity Hub
The Unity Hub is still in beta when it comes to Linux support. You can find it by going here and viewing the instructions for installing Unity Hub on Linux.
To save you some clicks, we’ve reproduced the Ubuntu-specific instructions below:
Run the following command to add the Unity Hub repository:
sudo sh -c 'echo "deb https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
Add the public signing key:
wget -qO - https://hub.unity3d.com/linux/keys/public | sudo apt-key add -
Update the package cache and install Unity Hub:
sudo apt update
sudo apt-get install unityhub
This will create a new icon in your applications menu that you can click to open.
Download the Unity Editor
To get started with Unity you’ll need to make an account. Don’t worry though, Unity is free for personal use (and offers even more free features for students). Click Sign in to progress once you have one.
After being presented with a brief ‘what’s new’ intro video you’ll then be prompted to download the actual Unity Editor.
Once you’ve finished installing you should be ready to start a new project!
Each new project is configured around basic presets based on the type of game you want to build (2D, 3D, VR, First-person). The Unity team have also collaborated on some demo projects to help you get to grips with the tools.
For further help getting started, check out Unity Learn for a range of tutorials and learning pathways that will take you through the basics of the editor and beyond. In addition, Raspberry Pi recently announced a new Introduction to Unity learning path on their website. This is designed to guide you through the fundamentals of game development. A great starting point for newer developers!
Honourable Mention: Flutter
It wouldn’t be a blog post about Ubuntu Desktop in 2022 without a cheeky Flutter mention!
We know a lot of community members are already experimenting with Flutter when it comes to desktop applications, but we also think it has potential in the gaming space.
This month the Flutter team are running Flutter Puzzle Hack. This is a competition that asks developers to re-imagine the classic slide puzzle with prizes for the most creative submissions.
We’re also keeping an eye on Flame, a flutter-based game engine that delivers modular, game-specific components to users. Flame is definitely worth checking out if you’re a Flutter enthusiast.
Let us know what you create!
Godot and Unity are powerful engines that allow users to develop highly polished multi-platform titles, but they’re also user friendly enough to get something up and running quickly. This makes them great foundational tools for Linux game development.
If you already develop games on (or for) Linux or decide to experiment with Ubuntu at an upcoming game jam, we’d love to hear about your experiences. Share your projects, tips and tricks, or tutorials with the community over on the Ubuntu Desktop Discourse.