diff --git a/atom.xml b/atom.xml index a4250f89a5..edeec69be3 100644 --- a/atom.xml +++ b/atom.xml @@ -1,4 +1,4 @@ -Godot Engine Official2025-09-15T20:48:14+00:00https://godotengine.org/Godot 4.5, making dreams accessible2025-09-15T20:00:00+00:00https://godotengine.org/article/godot-4-5-making-dreams-accessible/From mind-blowing effects now made possible by the stencil buffer to accessibilty descriptions of your GUI elements that opens up the possibility for some with disabilities to play your game — we are proud to present to you Godot 4.5.Godot contributorsRelease candidate: Godot 4.5 RC 22025-09-10T12:00:00+00:00https://godotengine.org/article/release-candidate-godot-4-5-rc-2/One more for the road, again!<p>On Friday of last week, we dropped our first <a href="https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate">Release Candidate</a> build. As a reminder, we release RC builds once we <em>think</em> the engine has stabilized and is ready for release. It is your last chance to report critical regressions before we release the stable version. Now, not even a full week later, we’re ready with our second snapshot. This RC2 fixes the last of the critical regressions that we are aware of. Unless someone reports a new regression coming from the changes made in RC1 or RC2, we should be on track to release 4.5 stable soon.</p> +Godot Engine Official2025-09-16T09:44:54+00:00https://godotengine.org/Godot 4.5, making dreams accessible2025-09-15T20:00:00+00:00https://godotengine.org/article/godot-4-5-making-dreams-accessible/From mind-blowing effects now made possible by the stencil buffer to accessibilty descriptions of your GUI elements that opens up the possibility for some with disabilities to play your game — we are proud to present to you Godot 4.5.Godot contributorsRelease candidate: Godot 4.5 RC 22025-09-10T12:00:00+00:00https://godotengine.org/article/release-candidate-godot-4-5-rc-2/One more for the road, again!<p>On Friday of last week, we dropped our first <a href="https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate">Release Candidate</a> build. As a reminder, we release RC builds once we <em>think</em> the engine has stabilized and is ready for release. It is your last chance to report critical regressions before we release the stable version. Now, not even a full week later, we’re ready with our second snapshot. This RC2 fixes the last of the critical regressions that we are aware of. Unless someone reports a new regression coming from the changes made in RC1 or RC2, we should be on track to release 4.5 stable soon.</p> <p>At this point in the process you will see the activity on GitHub slow down as we avoid merging work for 4.5. Our focus in the coming days will be on preparing the release, and queuing up all the changes we would like to merge early in the 4.6 release cycle.</p> <p>Please consider <a href="#support">supporting the project financially</a>, 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.</p> <p><a href="#downloads">Jump to the <strong>Downloads</strong> section</a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the <a href="https://editor.godotengine.org/releases/4.5.rc2/"><strong>Web editor</strong></a>, the <a href="https://www.meta.com/s/h9JcJGHfg"><strong>XR editor</strong></a>, or the <a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4"><strong>Android editor</strong></a> for this release. If you are interested in the latter, please request to join <a href="https://groups.google.com/g/godot-testers">our testing group</a> to get access to pre-release builds.</p> diff --git a/releases/4.5/index.html b/releases/4.5/index.html index 789641b272..eedc96e4a2 100644 --- a/releases/4.5/index.html +++ b/releases/4.5/index.html @@ -31,11 +31,11 @@

Animation player quality-of-life upgrades

The animation player has received some much needed love!

  • You can use the selection box to select and scale Bézier editor points. Now it’s a piece of cake to perform batch changes.
  • When creating Bézier points, you can auto-tangent new points in a balanced or mirrored manner.
  • You can sort the animation player’s animations alphabetically.
  • It is also possible to filter animations by their names!

DPI-aware icons

Icons now look sharper than ever

The default controls and the editor UI tended to look blurry on HiDPI screens. We reworked the rendering of these components in order to make them look sharp on every screen.

Before, the icons are blurry.
Before
After, the icons are sharp.
After

Cascade content easily with FoldableContainer

The new FoldableContainer node adds an easy way to display a lot of details at the discretion of the user, in an “accordion” view.

It even supports grouping, making sure that only one foldable container is open at a time.

Label stacked effects

Style labels as much as you want with Godot 4.5. We added support for stacked layers of effects; no cumbersome workarounds required.

You want it outlined with complex shadows? Done.

Screenshot of a label (saying

Handle a complex GUI easily with recursive overrides

Gooey GUI no more

It is now possible to change mouse and focus behavior of a Control node recursively. This greatly helps creating complex GUIs without breaking a sweat.

Here’s an example: let’s say you create an inventory screen for your game. On the left, there’s a grid displaying what is the hero is carrying. On the right, it shows a detailed view about the selected item on the left; a rotatable display of the item in 3D to examine every detail, a section containing a scrollable description, a box containing stats and modifiers (with hyperlinks for technical terms), and a list of buttons representing actions that are possible to do with it.

Now, the problem is that the right view depends on an item being selected on the left. The user shouldn’t be able to interact with the detail view until that happens.

By changing Control.focus_behavior_recursive and Control.mouse_behavior_recursive of the detailed view container to their disabled value until an item is selected, focus and mouse events will be disabled for every child. You no longer have to resort to complex messages to manage the behavior of Control groups.

Added “required” qualifier

But Thou Must!

When extended, some classes need some virtual methods to be overridden in order to work. But it wasn’t always obvious in the documentation.

This won’t be an issue moving forward, as now the new required qualifier will come right after virtual where applicable.

Screenshot of a label (saying

Handle a complex GUI easily with recursive overrides

Gooey GUI no more

It is now possible to change mouse and focus behavior of a Control node recursively. This greatly helps creating complex GUIs without breaking a sweat.

Here’s an example: let’s say you create an inventory screen for your game. On the left, there’s a grid displaying what the hero is carrying. On the right, it shows a detailed view about the selected item on the left; a rotatable display of the item in 3D to examine every detail, a section containing a scrollable description, a box containing stats and modifiers (with hyperlinks for technical terms), and a list of buttons representing actions that are possible to do with it.

Now, the problem is that the right view depends on an item being selected on the left. The user shouldn’t be able to interact with the detail view until that happens.

By changing Control.focus_behavior_recursive and Control.mouse_behavior_recursive of the detailed view container to their disabled value until an item is selected, focus and mouse events will be disabled for every child. You no longer have to resort to complex messages to manage the behavior of Control groups.

Added “required” qualifier

But Thou Must!

When extended, some classes need some virtual methods to be overridden in order to work. But it wasn’t always obvious in the documentation.

This won’t be an issue moving forward, as now the new required qualifier will come right after virtual where applicable.

Editor documentation showing that some methods are `required`

Editor UI adapted for non-desktop users

Virtual keyboard users can attest to the desktop-oriented nature of the editor UI. Common actions–such as undoing and saving–are tedious to execute, as they require opening up the menu bar each time to find the action.

With the new TouchActionsPanel, tablet and phone users now have direct access to common actions buttons.

This feature is currently Android-only, but we intend to port it to other platforms as soon as possible.

Support for devices with 16KB pages

Computers have a few tricks up their sleeves to handle gigabytes of memory. One such trick is “paging” memory in discrete blocks, so that the system can quickly jump to it when looking for a specific address.

Pages can come in multiple sizes depending on the platform. Since its inception, Android only supported 4KB pages, but the Android team recently announced compatibility with 16KB pages from Android 15 onwards. Developers should note, though, that starting on 1 November 2025, Google Play will require all new submitted apps targeting Android 15 to support 16KB pages.

Fortunately, we’ve got your back; Godot 4.5 supports this feature out of the box.1

  1. .NET users: .NET 9 (or higher) is required for 16KB page support. 

Edge-to-edge support

Usually, developers had two choices for displaying content on the screen: either their app leaves the top and bottom areas for the system status and navigation bars, or their app could go full-screen, claiming all the space without displaying these bars.

From now on, there’s a new export option. Android has a feature called “edge-to-edge” display. It offers the developers the ability to draw on the entire screen, as if it was fullscreen, but with system bar overlays.

This gives your game a more modern look that matches Android’s design style.

Camera feed support

Godot now supports accessing the device’s raw camera feed on Android.

This enables developers to access live camera input and process the data for any purpose they want. From cute face filters to AR, the possibilities with this feature are endless!

Bake lightmaps and UV unwrap on the go!

Baking lightmaps and unwrapping UVs with the Godot Editor is no longer only limited to desktop OSes. You can now do so on your phone or tablet.

If making games on mobile devices is now entirely possible, what’s preventing you from creating the next blockbuster?

Native Wayland sub-window support

A window is worth a thousand words

Sub-window support means that Godot can now spawn new independent windows when running on Wayland natively.

This was also an important (and not a small) hurdle to cross in order to achieve game embedding in the future, which is already being worked on in this PR.

Godot Editor running on KDE Plasma 6.4 displaying multiple Wayland sub-windows (i.e. the editor settings window and a hover pop-up)

Game embedding support on macOS

macOS Godot users can now enjoy the embedded game window introduced for some platforms in 4.4.

Screenshot of the Godot Editor on macOS running an embedded game.

Export to visionOS

You can now export for Apple’s XR platform, visionOS, making Godot projects compatible with the Apple Vision Pro.

Godot 4.5 marks the first step of visionOS’ native integration. For this, we would like to thank Apple’s visionOS engineering team for their contributions adding support for their operating system to the Godot Engine.

This is a big deal: visionOS is the first platform supported natively by Godot since the project was open-sourced!

Currently, it is only possible to export a project as a “windowed app”. Your game will appear as a window, floating in the user’s 3D space. We expect to support fully immersive experiences in the future.

Modify metadata without rcedit

So long, rcedit!

Windows .exe file metadata (such as a custom icon, the product name, and the company information) is stored internally as “resources”.

For years, in order to modify these resources, the Windows exporter needed to access an external Windows program: rcedit. That made it really difficult to export for Windows on a non-Windows machine.

But now, the Windows exporter now knows how to handle the resources natively, so you can edit Windows export metadata without a hitch, on every platform.

WebAssembly SIMD support

Free performance boost

For about two years now, all major browsers have supported WASM (WebAssembly) SIMD. SIMD stands for “Single Instruction, Multiple Data” and is a technology that permits CPUs to do some parallel computation, often speeding up the program as a whole.

Starting with 4.5, you can expect your Web games to run a bit more smoothly, without having to do anything – especially when things get chaotic for your CPU. It isn’t a silver bullet for poorly optimized games, but it will help nonetheless.

Loading .NET assemblies directly from Android APKs

Straight from the source

Assemblies are the building blocks of any C#/.NET application as they provide types and resources for different functionalities. Functionalities range from system I/O utilities to your own game logic.

In the past, for Android, we’ve been extracting the .NET assemblies from the exported APK and stored them in cache. While this works well on other platforms, it caused issues on Android, such as outdated assemblies or permission errors.

We now load those assemblies directly from the APK, which solves all those issues.

Introducing variadic arguments

GDScript functions can now accept an arbitrary number of parameters!

extends Node
+
Apple Vision Pro

Modify metadata without rcedit

So long, rcedit!

Windows .exe file metadata (such as a custom icon, the product name, and the company information) is stored internally as “resources”.

For years, in order to modify these resources, the Windows exporter needed to access an external Windows program: rcedit. That made it really difficult to export for Windows on a non-Windows machine.

But now, the Windows exporter knows how to handle the resources natively, so you can edit Windows export metadata without a hitch, on every platform.

WebAssembly SIMD support

Free performance boost

For about two years now, all major browsers have supported WASM (WebAssembly) SIMD. SIMD stands for “Single Instruction, Multiple Data” and is a technology that permits CPUs to do some parallel computation, often speeding up the program as a whole.

Starting with 4.5, you can expect your Web games to run a bit more smoothly, without having to do anything – especially when things get chaotic for your CPU. It isn’t a silver bullet for poorly optimized games, but it will help nonetheless.

Loading .NET assemblies directly from Android APKs

Straight from the source

Assemblies are the building blocks of any C#/.NET application as they provide types and resources for different functionalities. Functionalities range from system I/O utilities to your own game logic.

In the past, for Android, we’ve been extracting the .NET assemblies from the exported APK and stored them in cache. While this works well on other platforms, it caused issues on Android, such as outdated assemblies or permission errors.

We now load those assemblies directly from the APK, which solves all those issues.

Introducing variadic arguments

GDScript functions can now accept an arbitrary number of parameters!

extends Node
 
 
 func sum(first_number: float, ...numbers: Array) -> float: