Castle Game Engine: Tower Fight game by Phomm, various engine fixes (GTK 3 and Wayland, float textures and Skin and web, macOS editor…) and website updates

Phomm posted about a cool new game he made in our forum: Tower Fight – Samurai Arcade for testing math skills. Available for various platforms including web. I recommend also his accompanying post about deploying web builds on itch.io for great instructions how to release your web games on itch.io. There’s a lot of more …

Castle Game Engine: AI usage guidelines and thoughts updated, and… test of vibe-coding with Castle Game Engine

As most of us, I spend lately considerable amount of time researching and talking about AI implications (for coding and beyond). It’s a big subject. The technology offers us various applications, and various new ways for misuse too. I think the following statement manages to summarize my hopes + concerns best: When working to solve …

GodotCon Amsterdam – Save the date!

The official GodotCon returns to Europe and this time, it will be the first GodotCon in the city where the Godot Foundation calls home. For this edition of the event, we teamed up with the Dutch Games Association to help us organize it and make sure that everything runs smoothly.

Information

📅 Dates 23rd, 24th of April
🕑 Time 10:00 – 18:00
🇳🇱 Location Amsterdam, The Netherlands
📍 Venue Pathé Amsterdam Noord. Buikslotermeerplein 2003, 1025 XL Amsterdam, Netherlands
🌐 Website https://conference.godotengine.org

Buy tickets 🎟️

Call for speakers and sponsors

If you would like to be a part of the conference by giving a talk or a workshop, please submit your proposals through the link below. We are looking for a diverse range of topics, from beginner to advanced, so don’t hesitate to submit your ideas.

➡️ Call for submissions, Deadline: 30th of March

We are also actively looking for sponsors to support the GodotCon Amsterdam. If you or your company would be interested in learning more about sponsorship opportunities, feel free to reach out to godotcon@godotengine.org.

Tickets and more

Get your tickets here and stay tuned for more information by joining the GodotCon Discord or the mailing list.

Will there still be a Godot event in the US in 2026?

Absolutely! The same team behind the GodotCon Boston will be announcing more details about the event for 2026 in the US. It will come back with a different name, but everything else should be the same.

See you soon!

Dev snapshot: Godot 4.7 dev 1

The first development snapshot for 4.7 has arrived! With it, several quality PRs are free from the backlog at last, be it because they were locked out from the 4.6 feature freeze or were simply deemed too risky for the stable release. The majority of the latter cases were already highlighted earlier this week in our 4.6.1 RC 1 snapshot, so this article will be focused on the former: new features and quality-of-life goodies.

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 TR-49, a story-rich puzzle game set in an alternate history, where you’re tasked solving a mystery by navigating the archives of a long-abandoned World War II computer. You can buy the game on Steam or the iOS App Store, and follow the developers on Bluesky or Discord.

Highlights

Input: VirtualJoystick

Joypad controls for mobile games have been historically awkward to integrate. While community-based tools do exist to mitigate this problem, this still involves developers jumping through significantly more hoops than other input devices. Kazox61 has come to the rescue with GH-110933, offering a built-in solution for handling joysticks inputs virtually with VirtualJoystick.

JOYSTICK_FIXED: The joystick doesn’t move.

JOYSTICK_DYNAMIC: The joystick is moved to the initial touch position as long as it’s within the joystick’s bounds. It moves back to its original position when released.

JOYSTICK_FOLLOWING: The joystick is moved to the initial touch position as long as it’s within the joystick’s bounds. It will follow the touch input if it goes outside the joystick’s range. It moves back to its original position when released.

Rendering: DrawableTexture

One very widely-requested feature across Godot’s entire lifetime has been the ability to easily draw on a texture. While this can be somewhat achieved by using Viewport, it remained quite limited and wasn’t suited for more complex tasks. Conversely, RenderingDevice is an answer for those not afraid to get their hands dirty with the guts of the engine, but that leaves the average user in the dust and is hardly a convenient solution even for those that know what they’re doing. Colin O’Rourke delivered a solution in the form of DrawableTexture: a simple API layer to abstract away all the technical noise and give users of all skill levels a convenient way to “do the thing”. (GH-105701).

3D: Enable Path3D collider snapping

Gustavo Jaruga Cruz has given the 3D editor some love in the form of Path3D collider snapping (GH-102085). Now when creating and editing paths, you have the option of snapping those paths to whatever collider the mouse is hovering over, rather than simply dropping a point in space arbitrarily. As demonstrated in the below clip, this behavior is toggleable on the Path3D options menu.

GDScript: Improve display non-exported members in Remote Tree Inspector

If you’ve ever tried to wrangle with non-exported enums in a remote play session, you’re already aware of how annoying it to have those values revert to simple integers. Danil Alexeev has brought us a solution via GH-115705, ensuring that metadata is retained for variables regardless of their export status.

Before After
Remote Tree Inspector enum before Remote Tree Inspector enum after

Rendering: Vulkan raytracing plumbing

While Vulkan has had an API available for a few years now to support raytracing, actually implementing that API is much easier said than done. Rendering is already one of the most complex parts of the engine, and adding raytracing on top of that increases that complexity exponentially. With that in mind, it cannot be overstated just how impressive it is that Antonio Caggiano has provided us with the groundwork necessary to make that a reality (GH-99119). He’s graciously provided a demo project to showcase this new functionality via GDScript.

Windows: Support HDR output

Those that followed our 4.6 blog posts might remember a section that touched on the future implementation of HDR to the engine. The future is now, as one of our goals for 4.7 is making HDR output possible on all supported platforms. Documentation and implementation is still in the early stages, so we won’t have much to touch on this blog post. However, we can offer a small preview, as Josh Jones, Alvin Wong, and Allen Pestaluky have begun this long-term goal with an implementation on Windows (GH-94496).

And more!

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

  • Core: PCKPacker: Add method to add files from buffer (GH-108830).
  • Editor: Add a script editor keyboard shortcut to show the documentation tooltip for the word the caret is on (GH-115767).
  • Editor: Improve appearance of built-in help (GH-107597).
  • Editor: Optimize tree size computation and the scene tree dock filter (GH-110759).
  • Editor: Support navigating to the script in list (GH-112796).
  • Editor: Take custom type of parent scripts into account when dropping onready variables (GH-115158).
  • GUI: Add accessibility region role for landmark navigation (GH-114449).
  • GUI: Add conic gradient to GradientTexture2D (GH-115394).
  • Input: Add support for joypad motion sensors (GH-111679).
  • Physics: Add one-way collision direction for CollisionShape2Ds (GH-104736).
  • Platforms: Add device orientation change signal to DisplayServer (GH-115434).
  • Platforms: Android: Enable native file picker support on all devices (GH-115257).
  • Rendering: Clearcoat improvements and fixes (GH-111464).
  • Rendering: Give every pass its own unique environment uniform buffer (GH-115177).
  • Rendering: Metal: Refactor; fix dynamic uniforms; acyclic render graph support (GH-114484).
  • Rendering: Vulkan: Update all components to Vulkan SDK 1.4.335.0 (GH-114075).

Changelog

127 contributors submitted 311 fixes for this release. See our interactive changelog for the complete list of changes since the 4.6 feature release.

This release is built from commit bf95b6258.

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

There are currently no known issues introduced by this release.

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.7-dev2 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 platform managed by Godot Foundation. There are also several alternative ways to donate which you may find more suitable.

Donate now

Maintenance release: Godot 4.6.1

It’s been three weeks since the release of Godot 4.6, and we’re blown away by everything the community has already showcased in such a short time. And while Godot 4.7 is already well underway, a maintenance release for 4.6 was always set to release soon after. This release, Godot 4.6.1, addresses all the known show-stopping regressions and issues new to the Godot 4.6 release. We’d like to thank everyone who took the time to identify and squash these bugs, allowing for the expedient release of 4.6.1-stable!

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.6.1 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:


Make a Donation

Close this popup

Edit 2026-02-16 @ 22:30 UTC: The first macOS editor binaries for 4.6.1 had a signing issue (missing entitlements) which broke .NET and GDExtension support. They have been reuploaded with a fixed signature. Please redownload the macOS version if you downloaded it before the time of this edit.


The cover illustration is from Tearscape, a 2D top-down action-adventure game, where you must blend fast-paced combat and keen exploration to successfully navigate this Gothic, dreary world. You can buy the game or try out the demo on Steam, and follow the developers on Bluesky, YouTube, or Discord.

Changes

25 contributors submitted 38 fixes for this release. See our interactive changelog for the complete list of changes since the 4.6-stable release.

  • 3D: Change orbit snap shortcut with navigation scheme (GH-115298).
  • 3D: Fix Skeleton3D Edit Mode bone buttons have priority over transform gizmo (GH-115608).
  • 3D: Fix viewport orbit snap defaulting to always snapping when shortcut(s) are set to none (GH-115002).
  • 3D: Increase float precision in the editor inspector for Quaternions (GH-106352).
  • 3D: Register zoom shortcuts to match preset Godot navigation scheme (GH-115290).
  • Animation: Fix double memdelete of dummy_player (GH-115968).
  • Animation: Fix LookAtModifier3D / AimModifier3D forward vector (GH-115689).
  • Animation: Fix use-after-free in Animation Blend Tree (GH-115919).
  • Animation: Fix use-after-free in AnimationTree (AHashMap realloc) (GH-115931).
  • Buildsystem: Fix missing lib with builtin_glslang=false (GH-93478).
  • C#: Revert “Improve performance of CSharpLanguage::reload_assemblies” (GH-115759).
  • Core: Fix ClassDB class list sorting regression (GH-115923).
  • Core: Fix the NodePath hash function to not yield the same value for similar paths (GH-115473).
  • Editor: Fix NodePath EditorProperty using the wrong scene root (GH-115422).
  • Editor: Fix create dialog recents (GH-115314).
  • Editor: Fix Rename option for instance roots (GH-115575).
  • Editor: Fix Unique Resources from Inherited Scenes (GH-115862).
  • Editor: Fix wrong base type when creating script (GH-115778).
  • Export: Load translation files to check locale for ICU data export (GH-115827).
  • GDScript: LSP: Add godot to known language ids (GH-115671).
  • GDScript: LSP: Handle clients that do not support CompletionContext (GH-115672).
  • GUI: Fix current line highlight not extending into gutter (GH-115729).
  • Input: Update editor shortcuts when changing 3D navigation scheme (GH-115289).
  • Particles: Revert “Change curve range for particle multipliers” (GH-116140).
  • Physics: Allow SoftBody3D to have a total_mass of 0 again (GH-116111).
  • Physics: Fix transform updates sometimes being discarded when using Jolt (GH-115364).
  • Platforms: Android: Fix Bad file descriptor in SAF/MediaStore in long term access (GH-115751).
  • Platforms: Fix crash in StorageScope.kt on Android (GH-115515).
  • Platforms: Wayland Embedder: Fix FD leak with inert objects (GH-115823).
  • Platforms: Windows: Disable MSVC control flow check on IAT hooks (GH-115430).
  • Plugin: Android: Fix plugin type mismatch regression (GH-115685).
  • Rendering: Avoid reading from sky pointer when rendering background without sky (GH-115874).
  • Rendering: Ensure that uv border size is passed in to sky rendering functions (GH-115606).
  • Rendering: Pick the sample closer to the camera when resolving 2x MSAA (GH-115124).
  • Rendering: Update re-spirv with more derivative operations (GH-115921).
  • Rendering: Use sky’s corrected camera projection for combined_reprojection (GH-115292).
  • Rendering: Use transmittance instead of opacity in the early-out branch when calculating volumetric fog (GH-116107).
  • Thirdparty: libpng: Update to 1.6.54 (GH-115714).

Known incompatibilities

As of now, there are no known incompatibilities with the previous Godot 4.6 release. We encourage all users to upgrade to 4.6.1.

If you experience any unexpected behavior change in your projects after upgrading to 4.6.1, 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.

Donate now