Disinfection A game by Evil Turtle Productions
Disinfection A game by Evil Turtle Productions

By: Rémi Verschelde 1 December 2022

Godot 4.0 has been in beta for over two months, and the overall feature completeness, stability and usability have improved a lot during that time.

We’ve had beta snapshots every other week, and now we’ve decided to accelerate the cadence to release a new snapshot every week, to get even faster feedback on our bugfixes, and the potential regressions they may introduce.

Some big changes in this beta:

  • Android: Enable GLES3 support (GH-69355).
  • Core: Move z_index, z_as_relative and y_sort_enabled from Node2D to CanvasItem (GH-68070).
  • C#: Tons of improvements!
  • GDScript: Loads of follow-up improvements to recent fixes in beta 5 and 6.

Jump to the Downloads section.

You can also try the Web editor (early testing, it’s still slow and unstable).

The illustration picture for this article is a screenshot of Disinfection, a space horror game by indie duo Evil Turtle Productions which is currently being ported to Godot 4.0 beta. You can follow the developers on Twitter and Mastodon, and wishlist the game on Steam.

What’s new

If you’re interested in an overview of what’s new in Godot 4.0 beta in general, have a look at the detailed release notes for 4.0 beta 1. In this beta 6 blog post, we will only cover the main changes since the previous beta release.

See the changelog on GitHub, or the list of merged PRs, for an overview of all changes since 4.0 beta 6 (136 commits – excluding merge commits ― from 56 contributors).

Some of the most notables feature changes in this update are:

  • Android: Bump the minimum Android target API to 21 (Android Lollipop) (GH-67610).
  • Android: Enable GLES3 support (GH-69355).
  • Animation: Add “Trimming” option to cut un-keyed timeline before first key in glTF animation (GH-68665).
  • Core: Move z_index, z_as_relative and y_sort_enabled from Node2D to CanvasItem (GH-68070).
  • C#: Fix marshaling generic Godot collections (GH-65905).
  • C#: Cleanup and sync StringExtensions with core (GH-67031).
  • C#: Load assemblies as collectible only in the Godot editor (GH-67511).
  • C#: Optimize Variant conversion callbacks (GH-68310).
  • C#: Remove VariantSpanDisposer and use constants in stackalloc (GH-69194).
  • Editor: Fixes and improvements to Search Results dock (GH-66574).
  • Editor: Add Black (OLED) editor theme preset (GH-67871).
  • Editor: Allow directly instantiate scripts in scene tree (GH-68648).
  • Editor: Add button to keep the debug server open (GH-69164).
  • GDScript: Fix singleton scene cyclic loading (GH-69079).
  • GDScript: Fix cyclic reference base being loaded but not valid (which is ok) (GH-69259).
  • iOS: Fix getting Unicode executable path, fix error spam on start (GH-68740).
  • Physics: Fix physics/3d/run_on_separate_thread race condition in WorkerThreadPool (GH-67680).
  • Rendering: Vulkan: Improve logic for detecting and tracking extensions (GH-68833).
  • Rendering: OpenGL: Fix drawing of Mesh2D (GH-69135).
  • XR: Add partial support for Pico 4 (GH-68023).

This release is built from commit 0ff874291.

Downloads

The downloads for this dev snapshot can be found directly on our repository:

  • Standard build (GDScript, GDExtension).
  • .NET 6 build (C#, GDScript, GDExtension).
    • Requires .NET SDK 6.0 installed in a standard location. .NET 7.0 is not supported yet, so make sure to install .NET 6.0 specifically.

Known issues

As we are still in the early beta phase of development, there are still many issues to fix, some of which have already been reported and are being worked on. See the GitHub issue tracker for a list of known bugs in the 4.0 milestone.

Bug reports

As a tester, you are encouraged to open bug reports if you experience issues with this release. Please check first the existing issues on GitHub, using the search function with relevant keywords, to ensure that the bug you experience is not known already.

As in any major release there are going to be compatibility breaking changes. However, we still try to provide a migration path for your projects. If you experience a regression without a known migration path or workaround, do not hesitate to report it.

Support

Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to donations from the Godot community. A big thankyou to everyone who has contributed their time or financial support to the project!

If you’d like to support the project financially and help us secure our future hires, you can do so on Patreon or PayPal.

Source: Godot Engine Official