All Godot contributors are delighted to release our latest milestone today, Godot 3.3, after more than 7 months of development! This release was initially planned as a 3.2.4 update to the 3.2 branch, but it grew to become a feature-packed update well worth of opening a new stable branch.
While most development focus is on our upcoming Godot 4.0 release, many contributors and users want a robust and mature 3.x branch to develop and publish their games today, so it's important for us to keep giving Godot 3 users an improved gamedev experience. As such, most of the focus was on implementing missing features or bugfixes which are critical for publishing 2D and 3D games with Godot 3, and on making the existing features more optimized and reliable.
Godot 3.3 is compatible with Godot 3.2.x and is a recommended upgrade for all 3.2.x users.
When we released Godot 3.2 in January 2020, we switched the development focus towards the upcoming Godot 4.0, which is a major, compatibility-breaking rewrite of the engine's core and rendering.
We knew this would take a while, so we decided to make the 3.2 branch a long-term support branch, which would receive 3.2.x updates with bug fixes, but also new features as long as they don't require breaking compatibility. This led us to have a quite feature-packed 3.2.2 release, and for over 6 months we'd been working on another feature-heavy 3.2.4 milestone.
Along the way, we realized that our versioning scheme was too confusing and limiting, and that it could benefit from a change. So what was planned to be Godot 3.2.4 has been renamed to 3.3, and this is the release we're publishing today.
As such, Godot 3.3 is fully compatible with Godot 3.2.x (like you'd expect from a release named 3.2.4) and is a recommended upgrade for all users.
This rename also means that no new release will happen in the 3.2 branch. The
3.2 branch on Git has been reset to the
3.2.3-stable state, since all subsequent work done in that branch is now part of the
Long-term support for 3.x
Since we renamed 3.2.4 to 3.3, thus opening up a new stable branch, how does this impact our plans for long-term support while Godot 4.0 is being worked on?
Like 3.0 before it, the upcoming Godot 4.0 release will be a significant change in the Godot ecosystem, and we expect that users will keep using Godot 3.x for a while, until Godot 4.x is stable enough and works reliably on all hardware.
So we've reopened a development branch for 3.x releases, which was used to develop this version 3.3. We'll now use it to develop Godot 3.4, which will be another feature release that aims at being compatible with older Godot 3.x versions (and will only contain some compatible changes backported from the in-development 4.0 version).
We don't have an ETA for 3.4 yet, but we're aiming for shorter release cycles for upcoming 3.x releases, now that we have a fairly mature base to build upon.
We intend to keep supporting the 3.x branch with minor releases (3.4, 3.5, etc.) as long as we have both users and contributors interested in such updates. There will likely be a time of overlap after Godot 4.0 is released where we still work on 3.x updates in parallel, like we did with Godot 2.1 and 3.x.
For stable branches (e.g. 3.3.x), we're going back to a stricter application of semantic versioning and those releases will only contain bug fixes and usability/documentation improvements. This should make them risk-free updates for all users.
All new feature work for Godot 3 will go in the
3.x branch for the next minor release (e.g. 3.4). This will enable us to publish maintenance updates at a faster pace as soon as we identify a need (critical regressions to fix, security issues, necessary platform updates, etc.). So you can expect Godot 3.3.1 in the coming weeks with a first batch of fixes.
Supporting the project
Godot is a not-for-profit organization dedicated to providing the world with the best possible free and open source game technology. Donations and corporate grants play a vital role in enabling us to develop Godot at this sustained pace, since they are our only source of income, and are used 100% to pay developers to work on the engine. Thanks to all of you patrons from the bottom of our hearts!
If you use and enjoy Godot, plan to use it, or want support the cause of having a mature, high quality free and open source game engine, then please consider becoming our patron. If you represent a company and want to let our vast community know that you support our cause, then please consider becoming our sponsor. Additional funding will enable us to hire more core developers to work full-time on the engine, and thus further improve its development pace and stability.
After this long introduction, time to have a look at the many new features included in Godot 3.3!
There have been thousands of changes, big and small, so listing everything would be impossible. You can however consult the detailed changelog, where we attempted to list most relevant changes, separated by category: additions, changes, removals, and fixes. Note that this is a changelog between 3.2.3-stable and 3.3-stable. If you want to know all changes compared to 3.2-stable, you should also consider the intermediate 3.2.x changelogs.
In the rest of this post, we aim to give a broad overview of the most noteworthy features and changes in Godot 3.3. You can read in order, or use the index below to jump to your areas of interest.
- Godot editor on the Web!
- Android: App Bundle, subview, signing
- iOS: New plugin API
- HTML5: Threads, GDNative, AudioWorklet
- macOS: ARM64 build, code signing
- Threading API modernization
- Dynamic BVH for rendering and GodotPhysics
- Raise errors when accessing deleted objects in debug
- Many fixes to one-way collisions
- Fixes to KinematicBody collisions
- Cylinder collision shape for GodotPhysics
- Node copy-pasting
- Improved Inspector sub-resource editing
- Import presets configuration
- 3D editor improvements
- Detect external scene changes
- Improved FBX importer
- WebXR support for VR games
- OpenXR plugin
- MP3 loading and playback
- Minimap support in GraphEdit
Again, this is not an exhaustive list of changes in this release, so we advise interested users to also dive into the detailed changelog to know more.