Software 42179 Published by

The third beta version of Godot 4.1 is now available. The Godot Engine is a free, all-in-one, cross-platform game engine that makes it easy for you to create 2D and 3D games.



Godot 4.1 beta 3

An important part of the new release schedule for Godot is the change in mentality. Instead of working towards “the one true” release, such as has been the case with Godot 4.0, we aim to bring incremental changes to the engine at regular intervals. Godot 4.1 builds on top of the foundation created by the previous release, and we are getting confident in its current state.

This means that 4.1 beta 3 is likely to be the final beta release of this cycle, and the first release candidate is soon to follow. Please make sure to give these builds a good test. If you find an issue that affects your work, please give one of the  previous releases a try as well, and  Godot 4.0.3 too for good measure. Engine contributors are after regressions at this point, so testing your case with multiple releases ensures that what you’re experiencing is new and thus critical. Don’t hesitate to open bug reports in any case, every bit helps!

Jump to the Downloads section, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also  try the Web editor or the Android editor for this release. If you are interested in the latter, please request to join  our testing group to get access to pre-release builds.

The illustration picture for this article is from  The Adventures of Mouth Man, an action-packed 3D platformer made by Retrocade Media and friends in just one week for the Pursuing Pixels Game Jam. If you are a fan of quirky retro-looking games, you can check it out for free on  itch.io. And you can follow Ashton on  Twitter if you want to learn more about his projects.

What’s new

74 contributors submitted around 150 improvements for this release. You can review the complete list of changes with our  interactive changelog, which contains links to relevant commits and PRs for this and every previous release.

Here are some of the main changes you might be interested in:

  • 2D: Consider all triangles for retention in Delaunay triangulation ( GH-78368).
  • 2D: Tilemaps: Fix crashes when painting a large area in a tilemap ( GH-76548).
  • 2D: Tilemaps: Fix TileMap draw preview when switching CanvasItem editor tool ( GH-78467).
  • 2D: Tilemaps: Fix TileSet set as local to scene ( GH-78477).
  • 3D: Fix non-functional Node3D top_level property ( GH-77629).
  • 3D: Clamp PathFollow3D progress when not looping ( GH-78280).
  • 3D: Fix GridMap tile picking when a search filter is applied ( GH-78504).
  • Animation: Fix insert key crash with no animation ( GH-76398).
  • Animation: Fix Import Tracks import setting for single clip ( GH-78495).
  • Audio: Fix AudioListener2D ignoring rotation for positional audio ( GH-69027).
  • Buildsystem: SCons: Move platform logo/run icon to export folder ( GH-78435).
  • C#: Fix issues with special characters in the project name ( GH-74516).
  • C#: Add version defines to help users deal with breaking changes ( GH-78249 GH-78466).
  • C#: Add compatibility overloads ( GH-78452).
  • Core: Fix read-only dictionaries adding missing keys ( GH-74730).
  • Core: Fix recursive Node.find_children ( GH-75459).
  • Core: Properly update NodePaths with batch rename ( GH-76376).
  • Core: Further fixes for exported typed node arrays ( GH-77735).
  • Documentation: Display BitField[Enum] in docs to distinguish from Enum ( GH-74641).
  • Editor: Add property hints for debugger/profiler editor settings ( GH-75200).
  • Editor: Prevent quoted args in editor/main_run_args from being split at spaces ( GH-75444).
  • Editor: Fix missing UID handling for binary formats ( GH-78326).
  • Editor: Fix placement and style of the “Make Floating” button ( GH-78350).
  • Editor: Allow base types in method params of connection dialog ( GH-78354).
  • Export: macOS: Finish checking templates before validating texture formats ( GH-78455).
  • Export: Check if the required texture format is imported in the export dialog ( GH-78456).
  • GDExtension: Fix GDExtension Variant type conversion ( GH-75758).
  • GDExtension: Fix wrapping Objects in GDExtension that aren’t exposed ( GH-78061).
  • GDExtension: Fix Ref<>.is_valid() for ScriptInstanceExtension ( GH-78392).
  • GDExtension: Use Uninitialized*Ptr for constructors/converters using placement new ( GH-78419).
  • GDScript: Fix: Typed arrays aren’t working with + ( GH-73540).
  • GDScript: Allow to reference a class constructor as a Callable ( GH-73657).
  • GDScript: Allow boolean operators for all Variant types ( GH-74741).
  • GDScript: Fix several issues with static variables and functions ( GH-77129).
  • GDScript: Allow Strings and StringNames match each other in a match statement ( GH-78389).
  • GUI: Expose all auto-wrap modes in TextEdit ( GH-74813).
  • GUI: Fix multithreaded resizing in RichTextLabel ( GH-78241).
  • GUI: Add method to check if native window is focused ( GH-78262).
  • GUI: Fix position and size of the MenuButton popup ( GH-78269).
  • GUI: Fix wrong order in auto-completion sorting with empty string to complete ( GH-78321).
  • Import: Fix Basis Universal compressing with normal maps ( GH-62718).
  • Import: Respect compress_binary_resources editor setting on scene import ( GH-76630).
  • Input: Fix OS.find_scancode_from_string not working with modifiers ( GH-47996).
  • Input: Fix clearing custom cursor ( GH-74511).
  • Navigation: Add agent pause mode to NavigationServer ( GH-75888).
  • Navigation: Fix NavigationAgent2D path debug hidden behind canvas items ( GH-78438).
  • Network: Allow ENetConnection to send a packet to an arbitrary destination ( GH-77627).
  • Physics: Improve rigid body CCD against moving bodies ( GH-76138).
  • Plugin: Add relative path support for EditorPlugin.add_autoload_singleton ( GH-78109).
  • Porting: Android: Allow exporting release builds without a debug keystore ( GH-78123).
  • Porting: Linux/BSD: Fix bsd feature tag includes only “other BSDs” ( GH-78272).
  • Porting: Linux/BSD: Fix temporary file permissions ( GH-78347).
  • Rendering: Add RENDERING_INFO parameters to GL Compatibility renderer ( GH-77536).
  • Rendering: Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer ( GH-78285).
  • Rendering: Copy texture filter/repeat modes when replacing a texture in the GL Compatibility backend ( GH-78287).
  • Rendering: Fix invalid RID errors when freeing a mesh with blend shapes ( GH-78433).
  • Rendering: Fix volumetric fog in stereo by projection vertex in combined space ( GH-78436).
  • Documentation and translation updates.

This release is built from commit  ada712e06.

Gnome_shell_screenshot_gryh61

Dev snapshot: Godot 4.1 beta 3