Dev Planet

Avatar photo

RSS feed aggregator for FOSS game development.

Release candidate: Godot 4.7.1 RC 2

As distance from the Godot 4.7 stable release grows, so too does the amount of spotted regressions and subsequent regression fixes. We don’t have quite as many fixes to share compared to 4.7.1 RC 1, but there’s still enough to go around to warrant a second release candidate for this maintenance cycle.

Please consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.

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, the XR 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 cover illustration is from Interdimensional Vending Machine, a psychological horror game where you play as a homeless girl in a distorted city, surviving off a vending machine whose contents reshape your fate. You can buy the game on Steam or try an older version for free on itch.io, and follow the developer on itch.io and YouTube.

Highlights

This section covers all changes made since 4.7.1 RC 1, which are largely regression fixes:

  • 2D: Improve 2D editor dropping code (GH-119418).
  • 3D: Fix GridMap editor cursor starting at the wrong position (GH-120595).
  • Animation: Fix Abort on Reset functionality in AnimationNodeOneShot (GH-120478).
  • Core: Cherry-picks for the 4.7 branch (future 4.7.1) – 3rd batch (GH-120917).
  • Editor: Clean Up x position calcuation of the AudioStream filename in the Inspector (GH-119995).
  • Editor: Fix .godot file icon saturation in editor file dialogs (GH-120376).
  • Editor: Fix crash in Project Settings when an autoload has been freed (GH-120874).
  • Editor: Fix debugger call stack not selecting nodes in remote scene tree (GH-94096).
  • Editor: Fix incorrect non-unique resource indicator (GH-120886).
  • Editor: Fix ownership issues when pasting as replacement (GH-119790).
  • Editor: Fix possible freeze when running project with floating script editor (GH-119614).
  • Editor: Fix scene not requesting save for Load as Placeholder (GH-120823).
  • Editor: Fix scene tab titles not updating on language change (GH-120554).
  • Editor: Guard against non-main-thread emission of EditorFileSystem changed signal (GH-115083).
  • Editor: Make Instant Preview work for first selection after being enabled (GH-116651).
  • Export: Fix incorrect per-instance shader parameters when exporting in headless mode (GH-120794).
  • GUI: Add empty icons for file dialog menu to the default theme (GH-120449).
  • GUI: Don’t automatically open virtual keyboard when popup menu shows (GH-120768).
  • GUI: Range: Don’t use min for snap offset when it’s too big (GH-113380).
  • GUI: Set SpinBox’s internal node’s use_parent_material to true (GH-120714).
  • Import: Fix extracting materials without a per-material override (GH-120870).
  • Import: GLTF: Use p_state parameter directly (GH-119071).
  • Network: mbedtls: Update to 3.6.7 (GH-121055).
  • Physics: Fix crash when assigning more than 2047 MiB to Jolt temp buffer (GH-120895).
  • Physics: Fix crash when clicking via the Game view API created collisions (GH-120826).
  • Rendering: Fix hint_default_transparent used with sampler2DArray (GH-120433).
  • Rendering: Fix orthographic camera directional shadow culling (GH-120711).
  • Tests: Crypto: Add sign/verify and encrypt/decrypt tests (GH-120903).
  • Tests: Crypto: Add tests for AESContext (GH-120847).

Changelog

24 contributors submitted 29 improvements for this release. See our interactive changelog for the complete list of changes since 4.7.1 RC 1. You can also review all changes included in 4.7.1 compared to the previous 4.7 feature release.

This release is built from commit d6096250e.

Downloads

Godot is downloading…

Godot exists thanks to donations from people like you. Help us continue our work:


Make a Donation

Close this popup

Standard build includes support for GDScript and GDExtension.

.NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

During the Release Candidate stage, we focus exclusively on solving showstopping regressions (i.e. something that worked in a previous release is now broken, without workaround). You can have a look at our current list of regressions and significant issues which we aim to address before releasing 4.7.1. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.

With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of known bugs.

Bug reports

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

In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in previous 4.x releases, but no longer works in this snapshot).

Support

Godot is a non-profit, open-source game engine developed by hundreds of contributors in their free time, as well as a handful of part and full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their 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 using the Godot Development Fund.

Donate now

Dev snapshot: Godot 4.8 dev 1

It’s been just over two weeks since we saw the stable release of Godot 4.7. In that time, we’ve been hard at working preparing for an upcoming maintenance release with our first 4.7.1 release candidate, and laying a strong foundation for what will become Godot 4.8. Last week already highlighted the former, so we’re opening the week strong with the latter: our first Godot 4.8 development snapshot. Unlike last week, which was entirely focused on regressions and critical bugfixes, we’ll be spotlighting several new features and functionality you can get your hands on right now.

As usual, safety precautions should be taken with any pre-release environment. While we prepare these snapshots with the intent to be suitable for general testing, there will always be a non-zero risk of data loss/corruption. Creating backups before hand and/or utilizing version control are strongly recommended!

Please consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.

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, the XR 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 cover illustration is from Feed The Pit, a story-driven, investigative horror game where you hunt down the wealthy in order to Feed The Pit. You can buy the game on Steam or the iOS App Store, and follow the developers on YouTube and itch.io.

Highlights

Editor: Docked game view by default, simplify toolbar

One of the most exciting additions of the past few release cycles was undoubtably the ability to embed the game view within the editor. However, this feature might come as a surprise to many of you, as the default behavior since its inception has been a floating window. This was initially because not all desktop platforms had full support for this functionality, but we’ve since reached the point that all of our supported platforms can utilize it. As such, Michael Alexsander officially kickstarted this new default view in GH-120736 for all projects moving forward.

Pairing nicely with this new default setting is a new layout for the game view itself. Specifically: a toolbar overhaul. Because even if you were aware of the docked view before, actually finding the embed options was a bit tricky, as quite a lot of the important information was obfuscated or otherwise obstructed. Jayden Sipe spearheaded a brand new look for the toolbar in GH-118664, emphasizing usability and clarity compared to the prior implementation.

Old New

Docked game view is only enabled by default for new projects; existing projects will have to manually enable this by toggling this option on the updated game view:

Location of the editor embed toggle on the updated toolbar

Editor: Support drag-toggle visibility in scene tree

There’s a lot of editor goodies to cover today, and Mikael Hermansson keeps the ball rolling with GH-118634, adding the ability to drag-toggle visibility in the scene tree editor. Now when toggling the visibility of a given node, the newly toggled state can be applied to any subsequent nodes when dragging the mouse across them.

Editor: Allow 3D viewports to override Gridmap axis

Michael delivered some QOL to 3D viewports with GH-117569, enabling them to dynamically override the GridMap editor axis. Through the new editor option “Allow Viewport Override” (enabled by default), hovering the mouse over a viewport set to a specific side will cause the currently edited axis to match that side.

Editor: Pseudolocalization preview

We’ve talked about the importance of accessibility a lot in these blog posts, so it should be emphasized that internationalization goes hand-in-hand with those efforts. To that end: making a title more accessible to users across multiple languages can be streamlined significantly through the use of pseudolocalization. This simple toggle simulates changes that might take place during localization, allowing any issues that would come from that process to be recognized as early as possible in development.

It then should come as no surprise that Tomasz Chabora, the same user responsible for hot-swapping languages in the editor, would seek to further expand the utility and awareness of this crucial functionality. Thanks to GH-119443, users are now able to access this functionality from within the editor itself. The hope is that this will not only make developers able to find these issues even earlier than before, but that it will also shine a spotlight on the feature as a whole.

GUI: Sticky tree items

One of the most common requests we’ve seen for improving Tree functionality is the ability to support “sticky items”. That is: the ability for a given line to stick to the top if it represents a foldable region. Koliur Rahman is no stranger to integrating popular editor requests, so it was only a matter of time before they delivered the desired functionality in GH-115697.

Certain trees that have above-average nesting might have a net-negative experience with sticky headers. This will be given hard-coded exceptions in the meantime (see GH-121000 for Skeleton3D), as we investigate configurable minimums.

GUI: TextEdit and CodeEdit touch support

We’ve given the standard desktop experience a lot of love this blogpost, so let’s pivot to something a bit more niche (for desktops): touch support. Given mobile devices represent some of our most prominent platforms, we seek to make the tactile experience of Godot first-rate wherever possible. To that end: Anish Kumar expanded the red-carpet treatment even further with GH-119706, bringing touch support to both TextEdit and CodeEdit. The new functionality is as follows:

  • Tap (press → release): Positions the cursor and opens the virtual keyboard.
  • Drag (press → drag → release): scrolls the text content, including inertial scrolling support.
    • This extends to the code completion popup, which previously could not be scrolled via touch input.
  • Text selection:
    • Double-tap selects a word.
    • Double-tap, hold, and drag selects the portion you’re hovering over.

Core: FuzzySearch and FuzzySearchMatch

“Fuzzy searching” is the practice of a search result returning matches similar to the passed query, rather than only returning an exact match. This functionality has actually been part of the core engine for nearly two years at this point, courtesy of first-time contributor Adam Johnston in GH-98278, in service of our quick open search. However, that’s where the functionality remained ever since, never actually being exposed to our binding API. But now, courtesy of now regular contributor Adam in GH-107126, this functionality is finally ready to roll for all users.

var items := ["Potion of Healing", "Greater Health Potion", "Poison Vial"]
var fuzzy := FuzzySearch.new()
for result in fuzzy.search_all("health potion", items):
# Prints "Greater Health Potion", "Potion of Healing".
print(result.target)

And more!

There are too many exciting changes to list them all here, but here’s a curated selection:

  • 3D: Add octant visualization to GridMap (GH-118583).
  • Audio: Fix AudioStreamPlayer.get_playback_position() with AudioStreamPlaylist returns 0 regardless of start time (GH-114867).
  • Editor: Add an option to run the project upgrade tool when updating to a new Godot version (GH-119466).
  • Editor: Android: Update game menu bar to match desktop editor (GH-119156).
  • Editor: Show enum integer values in inspector tooltips (GH-102734).
  • Editor: Use VHS Circle as the default editor color picker shape (GH-110615).
  • Export: Add Filter to Project Export → Options tab (GH-118898).
  • Export: Add SPM support for Apple Embedded plugins (.gdip) (GH-116939).
  • Input: Add support for joypad touchpads (GH-111714).
  • Network: mbedTLS: Update to 4.1.0, PSA Crypto (GH-120725).
  • Platforms: Implement OS::get_processor_name() for Android (GH-120896).
  • Rendering: Add support for ASTC 6×6 and high quality compression profiles (GH-115003).
  • Shaders: GDShader: Add implicit conversion of bool constants to float, int, and uint (GH-120715).

Changelog

135 contributors submitted 314 fixes for this release. See our interactive changelog for the complete list of changes since the 4.7 feature release.

This release is built from commit ebbf577a0.

Downloads

Godot is downloading…

Godot exists thanks to donations from people like you. Help us continue our work:


Make a Donation

Close this popup

Standard build includes support for GDScript and GDExtension.

.NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of known bugs.

  • There are currently no known issues introduced by this release.

Bug reports

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

In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in previous 4.x releases, but no longer works in this snapshot).

Support

Godot is a non-profit, open-source game engine developed by hundreds of contributors in their free time, as well as a handful of part and full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their 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 using the Godot Development Fund platform managed by the Godot Foundation. There are also several alternative ways to donate which you may find more suitable.

Donate now

Castle Game Engine: Delphi improvements: build tool uses msbuild, allows to pick Delphi version, better generated DPROJ, hints to fix PAServer on Linux and linking on macOS

We improved how our engine tools (build tool and editor) call Delphi. These improvements take us closer to making our engine compatible with Delphi for Android, iOS and macOS and improve how you can build with Delphi from shell (e.g. from Continuous Integration workflows) for all platforms. First of all, our build tool, when using …

Release candidate: Godot 4.7.1 RC 1

Ever since the release of Godot 4.7 just over a week ago, our team has been working nonstop in two critical areas: ensuring a strong initial development cycle for Godot 4.8, and polishing up the current stable release’s foundation for an upcoming maintenance release. We weren’t entirely sure which would end up coming to light first, but it’s now clear that the latter will be taking an early lead with our first 4.7.1 release candidate. We’d like to thank everyone who diligently reported on any showstopping bugs that weren’t present in Godot 4.6; your continued testing is making this process especially expedient!

Please consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.

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, the XR 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 cover illustration is from nophenia, an exploration game where you wander dream-like environments as a wolfgirl with dedicated sitting and howling inputs. You can buy the game on Steam, and follow the developer on itch.io and Discord.

Highlights

This section covers the most relevant changes made since the stable release, which are largely regression fixes:

  • Animation: Make animation folding access cfg only at save/load project time (GH-120403).
  • GUI: Fix crash in Tree::_get_item_focus_rect (GH-120538).
  • GUI: Fix scene tree drag-n-drop regression on touchscreens (GH-120456).
  • GUI: Fix visual glitch with connections lines in GraphEdit (GH-120488).
  • Input: Android: Fix EditorSettings not instantiated error when running game (GH-120723).
  • Input: Fix backspace being unable to delete pre-existing text in any input field when using a soft keyboard on Android (GH-119798).
  • Navigation: Fix navigation agents unconditionally getting added to avoidance simulation after pause resume (GH-120249).
  • Network: Set inited=false on CookieContextMbedTLS::clear to avoid accidental double destruction (GH-120371).
  • Rendering: Fix flickering lighting on mesh-instances with non-uniform scale (GH-119784).
  • Rendering: Fix previous transform getting remembered for 2 frames after the instance stops moving (GH-119941).
  • Rendering: Seek past skipped shader variant payloads to avoid reading incorrect data (GH-119792).

Changelog

27 contributors submitted 41 improvements for this release. See our interactive changelog for the complete list of changes since the 4.7 stable release.

This release is built from commit 17e2686e0.

Downloads

Godot is downloading…

Godot exists thanks to donations from people like you. Help us continue our work:


Make a Donation

Close this popup

Standard build includes support for GDScript and GDExtension.

.NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

During the Release Candidate stage, we focus exclusively on solving showstopping regressions (i.e. something that worked in a previous release is now broken, without workaround). You can have a look at our current list of regressions and significant issues which we aim to address before releasing 4.7.1. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.

With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of known bugs.

Bug reports

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

In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in previous 4.x releases, but no longer works in this snapshot).

Support

Godot is a non-profit, open-source game engine developed by hundreds of contributors in their free time, as well as a handful of part and full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their 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 using the Godot Development Fund.

Donate now

Castle Game Engine: Review of the engine by Claude Code yielded 11 bug-fixes. The good, the bad about the experience, how you can do this in your own codebase, Docker SBX and more

I gave Claude a long-running task: Review every file of Castle Game Engine. The process found 11 “real” bugs (something was indeed a bug in the engine, and it could be a bug in real-life applications using the engine) which we promptly fixed. So I’m happy:) See the “Detailed Stats” section at the end for …

Castle Game Engine: TCastleProcess and ExecuteCommand available with both FPC and Delphi, no more cryptic “Failed to execute  : 4551” when Windows “Smart App Control” blocks us

We refactored our process running code (when one application wants to run another). This is used throughout our tools (build tool, editor) but we also have uses for it in the engine itself. Refactoring this into a nice unit gives us more possibilities, for now and for the future:) The code is now in a …

Release candidate: Godot 4.7 RC 3

Thank you to everyone who has participated in the release candidate stages of Godot 4.7! As a result of widespread adoption and testing, we were able to unearth and squash a handful of critical regressions that very nearly got overlooked. So while we hope to have a stable version out sooner than later, these fixes alone warrant at least one more snapshot, for good measure.

Please consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.

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, the XR 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 cover illustration is from You Know The Drill, an incremental mining game where you gather resources and delve deeper with an ever-upgrading drill. You can buy the game on Steam or try the demo on itch.io, and follow the developer on Bluesky and itch.io.

Highlights

We covered the most important highlights from Godot 4.7 in the previous 4.7 beta 1 blog post, so if you haven’t read that one, have a look to check out the main new features added in the 4.7 release.

Especially if you’re testing 4.7 for the first time, you’ll want to get a condensed overview of what new features you might want to make use of.

This section covers all changes made since the RC 2 snapshot, which are largely regression fixes:

  • Animation: Fix stretch mode in custom_timeline on AnimationNodeAnimation (GH-120241).
  • Assetlib: Fix assets with license type of “Other” not showing up (GH-120120).
  • Assetlib: Fix incorrect release order for items in the asset store (GH-120239).
  • Assetlib: Fix some issues and crashes in the asset store (GH-120164).
  • Assetlib: Improve version label visual in the asset dialog (GH-119751).
  • Core: Revert “Fix a deadlock in WorkerThreadPool” (GH-120250).
  • Documentation: Docs: Add platform support notes to window flags (GH-120313).
  • Documentation: Document the expected format for the project settings override file (GH-120252).
  • Documentation: Link to 3D lights and shadows tutorial in AreaLight3D class documentation (GH-120198).
  • Documentation: Update Tree reference to explain new drop sections (GH-120108).
  • Editor: EditorPropertyArray clipping fix (GH-120261).
  • GUI: RTL: Do not add zero-width space to last line without content (GH-120116).
  • GUI: RTL: Fix indent / list level not taken into account (GH-120104).
  • Particles: Fix leftover particle data when updating particle buffers (GH-119631).
  • Physics: Jolt: Fix gravity scale not updating when set from code (GH-120258).
  • Physics: Jolt: Remove forced area event queuing during body exit (GH-120243).
  • XR: Fix a crash when spatial entity marker trackers are detected (GH-120300).

Changelog

As we’ve tightened our policy on what kind of changes can be merged leading to the release candidate stage, there aren’t a lot of changes in this snapshot. 12 contributors submitted 17 fixes for this release. See our interactive changelog for the complete list of changes since 4.7 RC 2. You can also review all changes included in 4.7 compared to the previous 4.6 feature release.

This release is built from commit 645638db9.

Downloads

Godot is downloading…

Godot exists thanks to donations from people like you. Help us continue our work:


Make a Donation

Close this popup

Standard build includes support for GDScript and GDExtension.

.NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

During the release candidate stage, we focus exclusively on solving showstopping regressions (i.e. something that worked in a previous release is now broken, without a workaround). You can have a look at our current list of regressions and significant issues which we aim to address before releasing 4.7. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.

With every release, we accept that there are going to be various issues which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of known bugs.

  • Adreno 660 devices running Vulkan have geometry errors when using LightmapGI (#120299).
  • Editor UI container layout breaks when Editor Scale is set below 1.0 (#120272).
  • Large AreaLight3Ds don’t receive voxelGI global illumination for a portion of the light (#120178).
  • Programmatically updating gravity vector currently fails (#120279).

Bug reports

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

In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in previous 4.x releases, but no longer works in this snapshot).

Support

Godot is a non-profit, open-source game engine developed by hundreds of contributors in their free time, as well as a handful of part or full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their 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 using the Godot Development Fund platform managed by the Godot Foundation. There are also several alternative ways to donate which you may find more suitable.

Donate now