Godot Engine 4.0 Beta Released: What It Means for Developers
Godot, the open-source, cross-platform game engine, has slowly gained popularity since its first stable release in 2014. With the imminent release of Godot 4.0, many game developers are excited to explore the long-awaited September 15th release of Beta 1.
What do the new features of Godot 4.0 mean for you? How will it compare to Unity?
From a new rendering API and physics engine to new nodes, GDScript features, and .NET 6 API support, Godot 4.0 may address many of the gripes of its detractors.
A New Rendering API
Godot is switching from OpenGL renderer to Vulkan. This means lighting in 3D scenes will look significantly better.
When comparing large amounts of draw calls, the Vulkan renderer better supports open-world games with many objects. The OpenGL renderer, on the other hand, tended to stress and bottleneck resources.
Along with the new rendering API come new nodes which add more details to 3D scenes:
- The VoxelGI node is an overhaul of the old global illumination system. It allows for more nuanced illumination in small and medium environments.
- The Signal Distance Field Illumination node allows for large open worlds with better object shadows, light refracting, and much more.
- The FogVolume node allows developers to write shaders for complex fog and mist details.
While not a new node, the introduction of Sky shaders allows for the use of shaders for a skybox which translates into dynamic positioning and real-time updating.
There are many minor improvements such as GPU-based particles, shader scripting additions, and new optimization techniques. But the most significant changes are worth exploring in more detail.
A New Physics Engine
When deploying physics in 3D scenes, Godot has historically relied on the Bullet engine. No more. Meet the Godot Physics engine.
Some new features include new collision shapes and the re-implementation of soft bodies. This allows for rapid prototyping and more realistic object manipulation. On top of that, multithreading support means more optimizations; all of these changes come with less performance cost.
The new CharacterBody node, replacing the KinematicBody, allows for enhanced flexibility and options. Bug fixes for jittering and odd movement behaviors are a Godot-send. The result? More stable and consistent movement patterns–even with weird collision shapes or extreme heightmaps.
A new navigation system completely replaces the node-based system with a server-based one, increasing usability without sacrificing performance.
New Quality of Life Features in GDScript
With a complete rewrite in the beta, GDScript has become faster. In addition, more widely applicable features and general improvements are being added:
- You can now treat functions as variables and use anonymous functions.
- General syntax improvements allow for more consistent code.
- You can specify specific types for arrays to reduce bugs.
- await and super keywords replace older, less clear code regarding timing and inheritance.
If you’re working with a team or revisiting an old project, you’ll find poorly-named variables can be frustrating. To combat this, scripts now automatically generate helpful documentation. Hovering over exported variables in the Docker can give helpful descriptions of the variable.
C# and Support for .NET 6
.NET 6 support is mostly completed with the beta. If you want to stick with C# for preference or performance reasons, there are many new features to look forward to.
When using .NET 6, C# 10 is the default. A new reliance on source generators means that, if there’s a problem in your code, Godot will throw an error at compile time rather than runtime. This will save time, especially if there’s a bug late in the game.
You can now declare signals as C# events for more consistent signal code. Active development is also being poured into writing GDExtension in C#. One example is that C# classes will register no differently from built-in classes. This will help to improve support for C# nodes. Finally, Godot 4.0 will introduce a single, unifying download, so C# users don’t need to specifically download the Mono version.
Is Godot 4.0 Better Than Unity?
The beta is just a beta, meaning it is still unstable. There are plenty of bugs for the developers to find and fix. However, Godot is inching itself toward being a more established and grounded engine with the features of Unity. Still, it’s important to recognize that, while Godot and Unity are both game engines, they target different audiences.
In recent years, Unity has focused on VFX and hyper-realistic 3D scenes. In contrast, developers use Godot for prototyping and making smaller, often 2D, games. This doesn’t mean that using either engine locks you in. Experience with both engines is useful, so you truly understand which is best for your needs.
Whether you’re a Unity developer, curious about the Godot engine and what it does, or just looking for some new game development tools, this release brings many new features to help you create your next game.
While it’s tricky to quantify, the Godot community is one of its best features. You’ll find supportive developers who are happy to share their knowledge. If the new node system looks intimidating, just ask for help. And if that isn’t compelling enough, there are more reasons to consider using Godot for your next game.
The Future: What Godot 4.0 Means for Game Developers
Godot 4.0 will integrate quality of life features missing from 3.5, and it also brings in desirable features from other engines.
Since Godot 4.0 can result in performance increases for games, it should gain traction in the future. Various features and improvements can all be integrated into projects to optimize them or improve world detail.
Seeing these all-new features suggests the engine will continue to grow. So whenever you feel the urge to engage in Samuel Beckett puns, remember it was only January 17th of 2022 when the first Godot 4.0 Alpha released.