Using the Godot Game Engine on Chromebooks
Linux, Web Editor, or Android?
Within the last few years, ChromeOS has expanded beyond its initial concept as a Web-only experience, adding the ability to run Linux applications, as well as apps from the Google Play Store. The Godot Game Engine offers an Editor for all three of those platforms, which may cause some confusion for people trying to get started with game development on one of these devices.
Use the Web Editor for Locked Down Devices
Students with school issued Chromebooks may be forced to use the Godot Web Editor, as school IT departments may prevent students from installing Android or Linux apps. This version may work in a pinch, but has some significant limitations that aren't present in the installable versions:
- Performance. The editor runs in a browser, rather than directly calling native APIs. This additional overhead is less than ideal, as game developers are almost always looking for every bit of optimization to get their games running as smooth as possible on a wide range of hardware
- File Management. According to the documentation, the Web editor uses IndexedDB for file storage, which is not accessible outside the browser environment. Users will need to use the 'Download Project Source' option to access project files from outside of the Web editor
Verdict: The Web editor provides a convenient way to test drive the engine without much hassle, but isn't ready for use in a production environment.
Use the Android Editor in Most Cases
Starting with the Godot 3.5 branch, the engine now supports editing on Android compatible devices. While the current Android editor is not particularly well suited for use on phone-sized devices, it works extremely well on Chrome OS, since Chromebooks are just laptops. Now that the editor is available through the Google Play Store, it's fairly straightforward to install, without having to set up a Linux container.
- Convenience. Unlike the Web and Linux versions, the Android editor shows up in the Chrome OS launcher without having to go through any unnecessary hoops, and it will stay up to date as the Play Store regularly checks for updates
- Compatibility. More Chromebooks support Vulkan in Android apps than in the Linux environment
- Game Exports. The Android editor has limited export capabilities compared to the traditional desktop versions, though this may improve in the future
- Still Some Minor Annoyances. While the editor works well for the most part, I've run into minor issues with the Flyover mode (Shift + F to navigate with mouse & keyboard) and attempting to use external storage (Godot can see when external storage devices are available, but refuses to open them)
Verdict: While the Android editor may feel cumbersome on phones or small tablets, it shines on Chromebooks, and supports more Vulkan capable devices than the Linux version. Just be aware that you'll need a Windows, Linux, or macOS device when the time comes to publish the game, even if it's only targeted for Android devices
Use Linux if your Chromebook Supports Vulkan in Linux
- Stability. Since Linux has been a primary development platform for Godot for many years, it's a lot more stable and polished than the Android editor
- Features. The Linux container supports features like C#/.NET, or the full Game Export capability, which aren't available on Android
- Not Available Through
apt
. Since Chrome OS uses Debian as the base for its Linux environment, the app versions available in the default repositories are a bit outdated. At the time of writing, Godot 4 is not available, andsudo apt install godot3
will leave you running Godot 3.2.3 - Limited Hardware Support. While a lot of Chromebooks have Vulkan capable integrated graphics, only a few have compatible drivers available in the Linux environment, which excludes many from getting the biggest gains from the long awaited 4.0 release
- Fragmented Storage. Since Linux runs in a container, you'll need to dedicate at least a few gigabytes of storage to that container. While users can share other folders with the Linux container, this is a layer of complexity that Windows, macOS, and (native) Linux users don't have to deal with
Verdict: The Linux version may only be available on select Chromebooks, but it is the definitive way to use Godot on those devices. Users who only need the 3.x feature set should default to the Linux release.
Releasing Games for ChromeOS
Developers who wish to distribute their games on Chromebooks should also take the various platforms' quirks into consideration:
- Targeting the Web provides the greatest possible reach, but comes with a performance penalty, and requires a hefty initial download before players can get started in the game
- Android has more widespread support for Vulkan on Chromebooks, but developers will need to provide touch controls for phone and tablet users while laptop users may prefer PC-style mouse and keyboard controls
- Games targeting Linux may have a limited reach when relying on the Vulkan renderer, but the OpenGL Compatibility backend may not support the necessary features for more advanced 3D games
Each project will have its own needs, so the various trade offs will have different impacts depending on the type of game, and its intended audience. A simple 2D game might feel right at home in the browser, while an open world 3D sandbox could benefit from limiting its reach to newer and more capable devices (or limiting its scope to match the capabilities of the compatibility mode).