Engine
There are 1,753 posts filed in Engine (this is page 1 of 176).
Release candidate: Godot 4.6.2 RC 2
Last week, we released our first Release Candidate snapshot for 4.6.2, and have since backported even more critical bugfixes. While we normally only need a single pass for maintenance releases, sometimes enough changes are integrated to warrant a second pass. So, once more for good measure: Godot 4.6.2 RC 2 is ready for general testing!
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 illustration picture for this article comes from Funi Raccoon Game, a 3D platformer collectathon, where you play as a raccoon on a quest to fill their newly acquired home with an incalculable quantity of knick-knacks. You can buy the recently-released game or try the demo for free on Steam, and follow the developers, Crayon and Kit, on Bluesky.
What’s new
25 contributors submitted 29 improvements for this release. See our interactive changelog for the complete list of changes since 4.6.2-rc1. You can also review all changes included in 4.6.2 compared to the previous 4.6.1 maintenance release.
This section covers all changes made since 4.6.2-rc1, which are largely regression fixes:
- 3D: Fix 3D focus selection for subgizmos (GH-116972).
- 3D: Fix DirectionalLight3D property list (GH-117189).
- Animation: Deselect bezier keyframes when switching animations (GH-116953).
- Animation: Fix visual shift of animation editor keys during selection (GH-117290).
- Buildsystem: Add UTF-8 encoding to SVG file open in
platform_builders.py(GH-117454). - Buildsystem: CI: Bump JavaScript actions to Node 24 (GH-117428).
- Buildsystem: ScrollBar: Fix compilation with
precision=double(GH-117224). - Buildsystem: Update CODEOWNERS (GH-117674).
- Core: Fix
String::split_crash on empty string (GH-117353). - Core: Fix editable children state when duplicating instantiated nodes (GH-117041).
- Core: RingBuffer: Fix
T read()method reading empty buffer (GH-117388). - Core: RingBuffer: Fix overreading on methods that take an offset as an argument (GH-117151).
- Editor: Set accessibility name on Tree inline cell editor when editing (GH-117135).
- GDExtension: Add missing
GDVIRTUAL_BIND(_get_supported_extensions)onMovieWriter(GH-117479). - GUI: Fix “Custom” anchor preset being ignored if the parent isn’t a
Control(GH-117488). - GUI: Fix RichTextLabel drag selection not working after double-click (GH-117201).
- GUI: TextEdit: Fix clipping of last character due to right margin rounding (GH-116850).
- Import: Blender attempts should be incremented to avoid endless loop (GH-116589).
- Platforms: Apple Embedded: Fix static .a/.xcframework library loading in
open_dynamic_library(GH-117469). - Platforms: Fix macOS Steam time tracking lost when opening a project (GH-117335).
- Platforms: iOS: Propagate VC UI preferences to SwiftUI hosting controller (GH-116633).
- Platforms: macOS: Enable wake for events if
Magnetis running (GH-116524). - Platforms: Windows: Set current driver when ANGLE init fails (GH-117253).
- Plugin: Android: Fix java.util.HashMap handling (GH-114941).
- Plugin: Fix EditorDock not reopening (GH-117340).
- Rendering: Fix Tangent decoding detection when computing vertex skinning (GH-117401).
- Rendering: macOS: Force ANGLE (GL over Metal) when running in VM (GH-117371).
- Thirdparty: libpng: Update to 1.6.55 (GH-117564).
- Thirdparty: Update access-kit to 0.21.2 (GH-117433).
This release is built from commit 638b2f1e9.
Downloads
Godot is downloading…
Godot exists thanks to donations from people like you. Help us continue our work:
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.6.2. 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 on 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.
Maintenance release: Godot 4.5.2
While most users have upgraded their projects to Godot 4.6 by now, some have to stay on the previous 4.5 branch for various reasons, so we do our best to provide them with important fixes.
Our release support policy is that we support a given stable branch actively until its successor has had its first patch release, which happened a month ago with 4.6.1. But 4.5.2 was already in the pipeline with RC1, I just never got to finalizing it… so it’s time to wrap it up with a stable release!
Note: Following this maintenance release, the 4.5 branch switches to partial support, and the 4.4 branch is end of life and won’t get new patch releases.
Maintenance releases are expected to be safe for an upgrade, but we recommend to always make backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.
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.
Download Godot 4.5.2 now or try the online version of the Godot editor.
Godot is downloading…
Godot exists thanks to donations from people like you. Help us continue our work:
The cover illustration is from Spooky Express, a 3D puzzle game which has you in charge of the only rail service willing to transport both humans and undeads in turns, or in other words, the goat, cabbage, and wolf problem in spookyland! Spooky Express was created by the award-winning designers at Draknek & Friends, who recently started using Godot for their new titles. You can buy the game on Steam, itch.io, App Store, and Google Play, and follow the developers on Bluesky or Mastodon.
Highlights
This release backports important fixes on the rendering and platform porting areas, notably:
- Thanks to work done by the Android maintainers in Godot 4.5, we’ve been providing debug symbols for the Android export templates, which users can upload to Google Play to symbolicate their crash logs. This has enabled developers of games such as Rift Riff, Kamaeru, and Spooky Express to share detailed stack traces about crashes that some players run into on their games. These developers also assisted the rendering maintainers in debugging the issues, and so Skyth could write fixes for most issues found, which are available in this release.
- If you have a game published on Google Play using Vulkan Mobile, we strongly recommend upgrading to 4.5.2 or later, as this should resolve a lot of crash reports that your game might have. If using Compatibility, there are also significant crash fixes worth getting.
- Still on the rendering side, we’ve backported a number of Direct3D 12 bug fixes and performance improvements, notably to reduce initial shader compilation time and get it closer to what we have with Vulkan. While Godot 4.6 has even more fixes and new features, enabling it to make Direct3D 12 the default driver on Windows, for 4.5.2 it remains opt-in, but these fixes should improve the experience for developers who choose to target this API.
- And finally, again on rendering, iOS exports using Metal (Forward+ or Mobile rendering methods) will now default to restrict support to A12 devices or newer. This means excluding some older iPads which technically support Metal but struggle to run Godot games properly. You can toggle this option in the export preset, as this is just a change of its default state based on your rendering method.
Changes
107 contributors submitted 218 fixes for this release. See our interactive changelog for the complete list of changes since the 4.5.1-stable release.
- 2D: Check for tiles outside texture on TileSet atlas settings changes (GH-112271).
- 3D: Don’t redraw
Sprite3D/AnimatedSprite3Doutside the tree (GH-112593). - Animation: Separate branching ping-pong time and delta (GH-112047).
- Audio: Fix AudioStreamPolyphonic to honor
AudioStreamPlayer.pitch_scale(GH-110525). - Audio: Check if on tree before calling
can_process()(GH-114966). - C#: Fix dotnet class lookup returning modified names instead of engine names (GH-112023).
- C#: Ensure .NET editor supports Visual Studio 2026 (GH-112961).
- Core: Fix
load_threaded_getreturningnullwhen used withCACHE_MODE_IGNORE(GH-111387). - Core: Improve determinism of UIDs (GH-111858).
- Core: Fix duplicating node references of custom node type properties (GH-112076).
- Editor: Visual Shader: Fix nodes’ relative positions changed in a different display scale (GH-97620).
- Editor: Fix editing resources in the inspector when inside an array or dictionary (GH-106099).
- Editor: Fix switch to GameView when closing game window (GH-111811).
- Editor: EditorRun: Load
override.cfgto get window configuration for embedded mode (GH-111847). - Editor: Add donate button to project manager (GH-111969).
- Editor: Fix file duplication making random UID (GH-112015).
- Export: Disable shader baker when exporting as dedicated server (GH-112361).
- Export: iOS: Automatically enable
iphone-ipad-minimum-performance-a12if project is using Forward+/Mobile renderer (GH-114098). - Export: Fix Android export with multiple architectures failing when GDExtension includes native dependencies (GH-114483).
- GDExtension: iOS: Fix loading of xcframework dynamic libraries (GH-112784).
- GDScript: LSP: Fix goto native declaration (GH-111478).
- GUI: Fix update order for
exclusivechild window (GH-94488). - GUI: FoldableContainer: Override has_point to use title rect when folded (GH-110847).
- GUI: Fix IME input in multiple windows at once (GH-111865).
- Network: Normalize IP parsing, fix IPv6, tests (GH-114827).
- Particles: Fix CPUParticle3D not randomizing (GH-112514).
- Physics: Fix transform updates sometimes being discarded when using Jolt (GH-115364).
- Platforms: Android: Add support for Android XR devices to the Godot XR Editor (GH-112776).
- Platforms: Android: Fix ANRs when shutting down the engine due to the render thread (GH-114207).
- Platforms: Android: Trigger save of the RD pipeline cache on application pause (GH-114463).
- Platforms: Apple Embedded: Fix static .a/.xcframework library loading in
open_dynamic_library(GH-117469). - Platforms: macOS: Fix ~500ms hang on transparent OpenGL window creation on macOS 26 (GH-111657).
- Platforms: macOS: Fix microphone issue (GH-111691).
- Platforms: macOS: Disable window embedding code in export templates (GH-113966).
- Platforms: Linux: Add SSE4.2 support runtime check (GH-112279).
- Platforms: Linux/X11: Fix input delay regression (GH-113537).
- Platforms: Windows: Fix EnumDevices stall using IAT hooks (GH-113013).
- Platforms: Windows: Set current driver when ANGLE init fails (GH-117253).
- Rendering: Round values after renormalization when generating mipmaps (GH-111841).
- Rendering: Use AABB center instead of origin for visibility fade (GH-113486).
- Rendering: D3D12: Fix not checking for fullscreen clear region correctly (GH-111321).
- Rendering: D3D12: Fix specialization constant patching (GH-111356).
- Rendering: D3D12: Greatly reduce shader conversion time & fix spec constant bitmasking (GH-111762).
- Rendering: OpenGL: Add all PowerVR devices to the transform feedback shader cache ban list (GH-111329).
- Rendering: OpenGL: Use
GL_FRAMEBUFFERinstead ofGL_DRAW_FRAMEBUFFERwhen doing final blit to the screen framebuffer to work around OBS bug (GH-111834). - Rendering: Vulkan: Create new pools when they become fragmented (GH-114313).
- Rendering: Vulkan: Implement workaround for GPU driver crash on Adreno 5XX (GH-114416).
- Rendering: Vulkan: Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported (GH-114476).
- Shaders: Fix VisualShader conversion failing with subresources (GH-109375).
- Thirdparty: libpng: Update to 1.6.55 (GH-117564).
- Thirdparty: mbedTLS: Update to version 3.6.5 (GH-111845).
- Thirdparty: pcre2: Update to 10.46 (GH-114766).
Known incompatibilities
As of now, there are no known incompatibilities with the previous Godot 4.5.x releases. We encourage all 4.5 users to upgrade to 4.5.2 (or newer stable releases).
If you experience any unexpected behavior change in your projects after upgrading to 4.5.2, please file an issue on GitHub.
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 on 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.
Godot XR update — March 2026
Release candidate: Godot 4.6.2 RC 1
It’s been nearly two months since the initial release of Godot 4.6, and three weeks since the 4.6.1 maintenance release. In that time, we’ve had a steady chain of development snapshots for 4.7—the latest of which came out last week—and the number of resolved issues from bugs/regressions have only increased since then. In fact, we’ve received so many fixes that we’re preparing for yet another maintenance release: Godot 4.6.2!
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 illustration picture for this article comes from MR FARMBOY, a colony/farming simulation game, where you build your dream farm and community by leveraging the power of automation (hired labor). You can buy the recently-released game for sale on Steam, and follow the developer on Twitch and Discord.
What’s new
43 contributors submitted 86 improvements for this release. See our interactive changelog for the complete list of changes since the 4.6.1-stable release.
This section covers the most relevant changes made since the 4.6.1 maintenance release, which are largely regression fixes:
- Animation: Check
playback_queueexistance after emitanimation_finishedsignal (GH-116676). - Editor: Fix build profile generator creating bogus profiles (GH-115410).
- Editor: Fix mute button after pausing and stopping (GH-116537).
- Export: Android Editor: Copy keystore to temp file during export (GH-116161).
- GUI: TextServer: Ignore language of embedded object replacement spans when updating line breaks (GH-116197).
- Physics: Jolt Physics: Make MoveKinematic more accurate when rotating a body by a very small angle (GH-115327).
- Physics: Jolt Physics: Rework how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions (GH-115305).
- Physics: Jolt Physics: Swapping vertices of triangle if it is scaled inside out (GH-115089).
- Platforms: Android: Fix FileAccess crash when using treeUri in Gradle-built apps (GH-117131).
- Platforms: iOS: Add UIScene lifecycle events (GH-116395).
- Rendering: Apply fixed size properly for mono/stereo rendering (GH-115147).
- Rendering: Fix accidental write-combined memory reads in canvas renderer (GH-115757).
- Rendering: Fix viewport debanding not working with spatial scalers (GH-114890).
This release is built from commit 257ac3532.
Downloads
Godot is downloading…
Godot exists thanks to donations from people like you. Help us continue our work:
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.6.2. 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.
- macOS builds are not signed this release; this will be resolved by the time 4.6.2-stable comes out.
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 on 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.
Dev snapshot: Godot 4.7 dev 2
As the development cycle leaves the early stages, so too does the comparatively constrained scope of changes. Some changes are so big in fact, that they’re being distributed in small increments, rather than all at once. This is admittedly a bit awkward from a blog post perspective, as not everything is in a position to be showcased just yet, but rapid integration for the sake of early testing will always be a top priority. Besides, there’s still plenty of goodies ready to be shown off in the meantime!
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 Horripilant, an incremental dungeon crawler, where you meet God and subsequently kill God. You can buy the game on Steam, and follow the developers on Bluesky, YouTube, or Discord.
Highlights
Editor: Add support for copy/paste of section/category properties
Raphaël Daubelcour is starting this off with a bang, as their work in GH-111469 brought a highly-requested feature for the editor to light: the ability to copy and paste data from entire sections and categories! Now instead of copying the data from individual segments of a given property and pasting them piece-by-piece, this process is now handled in a singular action.
Editor: Use monospaced font for code names in UI
The editor got quite a lot of QOL love this snapshot, as Malcolm Anderson delivered yet another highly-requested feature in the form of monospaced code names (GH-112219). You’d be surprised by just how much the readability of the UI improves when code-like data (methods, signals, properties, etc.) is represented in a font representing their context, especially when coupled with a standard font for all other information.



Animation: Collapse groups in animation track editor
Malcolm isn’t done yet, as the animation track editor got some love in GH-113479, enabling users to collapse groups. This simple change should immediately resonate with users dealing with the absurd sizes animation trees can reach, though the benefits can be felt at all sizes.
Apple: Support HDR output
As you might recall from the previous development snapshot, our intention during the 4.7 cycle is to roll out HDR support across all supported platforms. Windows already got their initial implementation; now, it’s Apple’s turn. Stuart Carnie delivered full support for EDR display to all Apple platforms (GH-106814). Documentation is still in the works for HDR, as there’s quite a lot of ground to cover, but you can expect a proper deep-dive into the concept come next snapshot!
And more!
There are too many exciting changes to list them all here, but here’s a curated selection:
- 2D: Add a scene painter tool (GH-109360).
- 3D: Add “Follow Selection” in the 3D editor by using Center Selection twice (GH-99499).
- Buildsystem: SCons: Enable
wasm64support on web builds (GH-102378). - Editor: Show custom class name in the remote inspector (GH-108208).
- GUI: Add script editor
join_lineskeybind (GH-111547). - GUI: Improve the table in
RichTextLabel(GH-116277). - GUI: Support tiling
AtlasTextureinTextureRect(GH-113808). - Input: Add device IDs to keyboard and mouse input events (GH-116274).
- Input: Add support for SDL3 joystick input driver for iOS (GH-114316).
- Plugin: Android: Add support for plugins gradle platform dependencies (GH-115888).
- Rendering: Editor additions for MipMaps and rd_textures (GH-109004).
Changelog
105 contributors submitted 248 fixes for this release. See our interactive changelog for the complete list of changes since 4.7-dev1. You can also review all changes included in 4.7 compared to the previous 4.6 feature release.
This release is built from commit 778cf54da.
Downloads
Godot is downloading…
Godot exists thanks to donations from people like you. Help us continue our work:
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 on 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 Godot Foundation. There are also several alternative ways to donate which you may find more suitable.