Files
godot-website/rss.xml
2025-11-01 11:44:08 +00:00

2988 lines
234 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Godot Engine Official</title><link/><description/><atom:link href="https://godotengine.org/rss.xml" rel="self" type="application/rss+xml"/><item><title>Maintenance release: Godot 3.6.2</title><link>https://godotengine.org/article/maintenance-release-godot-3-6-2/</link><summary>Although we fixed many of the major 3.6 bugs in Godot 3.6.1 in June, we have decided to make a new 3.6 point release in order to keep up to date with platform requirements.</summary><description>&lt;p>&lt;strong>Edit 2025-10-25 @ 21:30 UTC:&lt;/strong> The original release had a regression affecting the Windows binaries (at least the editor) which lead to crashes (&lt;a href="https://github.com/godotengine/godot/issues/111979">GH-111979&lt;/a>, &lt;a href="https://github.com/godotengine/godot/issues/112021">GH-112021&lt;/a>). This was caused by the update to MinGW-GCC 14.2.1 for official build containers. Weve temporarily reverted that change and rebuilt the Windows binaries today. If you downloaded this release for Windows or the export templates before 2025-10-25 21:30 UTC, please redownload it as the binaries have been replaced.&lt;/p>
&lt;hr />
&lt;p>Although we fixed many of the major 3.6 bugs in &lt;a href="/article/godot-3-6-finally-released">Godot 3.6.1&lt;/a> in June, we have decided to make a new 3.6 point release in order to keep up to date with platform requirements.&lt;/p>
&lt;p>&lt;a href="https://support.google.com/googleplay/android-developer/answer/11926878?hl=en">Google announced&lt;/a> that from August 31, 2025 (with possible extension to November 1, 2025), apps and updates submitted to the Play Store must target Android 15 (API level 35) and support 16 KiB page size. As a result we have updated Godot Android APIs and made compatibility changes to ensure users can update their Godot 3 games on Play Store with 3.6.2.&lt;/p>
&lt;p>Since we had to rebuild Mono for Android with a 16 KiB page size, we took the opportunity to update our build containers to provide more &lt;a href="https://github.com/godotengine/build-containers/tree/3.6?tab=readme-ov-file#toolchains">recent toolchains&lt;/a> for official builds. Like for 3.6.1, UWP export templates are no longer provided in this build (but can be compiled from source if needed).&lt;/p>
&lt;p>&lt;strong>This is a safe and recommended update for all Godot 3.6.x users.&lt;/strong> It should have no major impact on your projects, even complex ones in production, if youre already using 3.6.1-stable.&lt;/p>
&lt;p>&lt;a href="/download/3.x/">&lt;strong>Download Godot 3.6.2 now&lt;/strong>&lt;/a> or try the &lt;a href="https://editor.godotengine.org/3.6.2.stable/">online version of the Godot editor&lt;/a>.&lt;/p>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/3.6.2-stable">
Download Godot 3.6.2 stable
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/maintenance-release-godot-3-6-2.jpg" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=x11.64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=mono_x11_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=osx.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=mono_osx.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=3.6.2&amp;amp;flavor=stable&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/3.6.2-stable">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;hr />
&lt;p>&lt;em>The illustration picture for this article comes from&lt;/em> &lt;a href="https://store.steampowered.com/app/2005870/House_of_Necrosis/?curator_clanid=41324400">&lt;strong>House of Necrosis&lt;/strong>&lt;/a>, &lt;em>a turn-based horror RPG with retro 32-bit 3D graphics. It is developed by &lt;a href="https://warkus-productions.com/">Warkus&lt;/a> with Godot 3.6 Mono. You can get the game on &lt;a href="https://store.steampowered.com/app/2005870/House_of_Necrosis/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/warkus.bsky.social">Bluesky&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="changed">Changed&lt;/h2>
&lt;ul>
&lt;li>Buildsystem: Update toolchains for official builds (Fedora 42 base, Mono 6.12.0.206, &lt;del>MinGW-GCC 14.2.1,&lt;/del> Xcode 16.2) (&lt;a href="https://github.com/godotengine/build-containers/pull/156">build-containers#156&lt;/a>).
&lt;ul>
&lt;li>The update of the Windows toolchains to MinGW-GCC 14.2.1 was temporarily reverted as it introduced crashes with LTO. 3.6.2-stable Windows binaries (editor and export templates) were rebuilt with the previous MinGW-GCC version on 2025-10-25 at 21:30 UTC.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Network: mbedTLS: Update to mbedTLS 3.6.5 (&lt;a href="https://github.com/godotengine/godot/pull/108382">GH-108382&lt;/a>, &lt;a href="https://github.com/godotengine/godot/pull/111845">GH-111845&lt;/a>).&lt;/li>
&lt;li>Porting: Android: Update to target API 35, NDK r28, 16kb page size (&lt;a href="https://github.com/godotengine/godot/pull/108433">GH-108433&lt;/a>).&lt;/li>
&lt;li>Porting: Android: Address API 35 UI changes (&lt;a href="https://github.com/godotengine/godot/pull/110255">GH-110255&lt;/a>).&lt;/li>
&lt;li>Porting: Android: Set minsdk to 21, workaround &lt;code class="language-plaintext highlighter-rouge">fseeko&lt;/code> error in Opus (&lt;a href="https://github.com/godotengine/godot/pull/111061">GH-111061&lt;/a>).&lt;/li>
&lt;li>Porting: iOS: Switch window creation to UIScene (&lt;a href="https://github.com/godotengine/godot/pull/111103">GH-111103&lt;/a>).&lt;/li>
&lt;li>Thirdparty: Enable builds with miniupnpc API 18 (&lt;a href="https://github.com/godotengine/godot/pull/100389">GH-100389&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="fixed">Fixed&lt;/h2>
&lt;ul>
&lt;li>Buildsystem: Fix build on macOS 26 by removing AGL framework link (&lt;a href="https://github.com/godotengine/godot/pull/110898">GH-110898&lt;/a>).&lt;/li>
&lt;li>Editor: Fix inability to assign script after clearing (&lt;a href="https://github.com/godotengine/godot/pull/108171">GH-108171&lt;/a>).&lt;/li>
&lt;li>Editor: Fix Open Editor Data/Settings Folder menu in self-contained mode (&lt;a href="https://github.com/godotengine/godot/pull/110414">GH-110414&lt;/a>).&lt;/li>
&lt;li>Export: Fix order of operations for macOS template check (&lt;a href="https://github.com/godotengine/godot/pull/108930">GH-108930&lt;/a>).&lt;/li>
&lt;li>GUI: Fix Line breaking may not work correctly when using color tags with specific font (&lt;a href="https://github.com/godotengine/godot/pull/109695">GH-109695&lt;/a>).&lt;/li>
&lt;li>Rendering: Batching: Fix &lt;code class="language-plaintext highlighter-rouge">MultiRect&lt;/code> casting to wrong type (&lt;a href="https://github.com/godotengine/godot/pull/109111">GH-109111&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>14 contributors&lt;/strong> submitted &lt;strong>19 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#3.6.2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 3.6.1 release.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/3cd3caab6779a7f3ec3bbeb9f200db50c735cfc8">&lt;code class="language-plaintext highlighter-rouge">3cd3caab6&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, you are encouraged to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with 3.6.2. Please check first the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a>, using the search function with relevant keywords, to ensure that the bug you experience is not known already.&lt;/p>
&lt;p>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 3.6.1 or earlier 3.x releases no longer works in 3.6.2).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to &lt;a href="/donate">donations from the Godot community&lt;/a>. A big thankyou to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so with the &lt;a href="https://fund.godotengine.org">development fund&lt;/a>.&lt;/p></description><category>Release</category><guid>https://godotengine.org/article/maintenance-release-godot-3-6-2/</guid><dc:creator>lawnjelly</dc:creator><pubDate>Thu, 23 Oct 2025 11:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/maintenance-release-godot-3-6-2.jpg</image></item><item><title>Dev snapshot: Godot 4.6 dev 2</title><link>https://godotengine.org/article/dev-snapshot-godot-4-6-dev-2/</link><summary>Open the floodgates!</summary><description>&lt;p>With our &lt;a href="/article/dev-snapshot-godot-4-6-dev-1/">first dev snapshot&lt;/a> out of the way, the 4.6 development cycle is no longer constraining itself to the territory of bugfixes. Many long-awaited features and enhancements are seeing the light of day at long last, as this behemoth of a snapshot boasts &lt;strong>over 300&lt;/strong> improvements in all! This blog post will aim to highlight the heavy-hitters to the best of its ability, but the sheer number of changes may warrant users to check the &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6-dev2">interactive changelog&lt;/a> for a more thorough dive. With new features comes the potential of new bugs, so early testing and reporting will be essential to catching regressions as quickly as possible.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.6.dev2/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/3yJ7i8kop">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/3606890/Upload_Labs/?curator_clanid=41324400">&lt;strong>Upload Labs&lt;/strong>&lt;/a>, &lt;em>an idle game where you build and optimize your computers system from the ground up. You can get the game for free on &lt;a href="https://store.steampowered.com/app/3606890/Upload_Labs/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://www.youtube.com/@enigmadevstudios">YouTube&lt;/a> or &lt;a href="https://discord.com/invite/enigmadev">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="build-godot-engine-as-a-library">Build Godot Engine as a library&lt;/h3>
&lt;p>A very common request weve seen regarding Godot is the ability to build the engine as a standalone library. In the past, its not something weve actively pursued, as the engine paradigm is so central to many of our design philosophies. However, as time has gone on, weve encountered more and more scenarios where simply having the ability to access Godot in an isolated context is absolutely necessary for certain workflows. So while a fully-fledged integration of this concept isnt something we fully support at this time, &lt;a href="https://github.com/kisg">Gergely Kis&lt;/a> has put in the work to allow for a functional baseline (&lt;a href="https://github.com/godotengine/godot/pull/110863">GH-110863&lt;/a>). Currently dubbed &lt;code class="language-plaintext highlighter-rouge">LibGodot&lt;/code> internally, theres now a basic support for a &lt;code class="language-plaintext highlighter-rouge">GodotInstance&lt;/code> to function as an entry point for these specialized workflows.&lt;/p>
&lt;h3 id="objectdb-profiling-tool">&lt;code class="language-plaintext highlighter-rouge">ObjectDB&lt;/code> profiling tool&lt;/h3>
&lt;p>Another common request from more technically-minded users has been a proper means of profiling &lt;code class="language-plaintext highlighter-rouge">ObjectDB&lt;/code>, which can be considered the heart of our entire &lt;code class="language-plaintext highlighter-rouge">Object&lt;/code> structure. First-time contributor &lt;a href="https://github.com/AleksLitynski">Aleksander Litynski&lt;/a> took to this daunting task, bringing us the &lt;code class="language-plaintext highlighter-rouge">ObjectDB Profiler&lt;/code> tool (&lt;a href="https://github.com/godotengine/godot/pull/97210">GH-97210&lt;/a>). With this, users will be able to take snapshots of the current &lt;code class="language-plaintext highlighter-rouge">ObjectDB&lt;/code> state during debug sessions, and compare that to other snapshots at a given point in time. These snapshots can also be viewed in a variety of contexts detailed in the PRs original post, but the short version is finding or exporting a diff between states has never been easier or more accessible!&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/objectdb-profiler.jpg" alt="ObjectDB Profiler" />&lt;/p>
&lt;h3 id="improved-automatic-mesh-lod-using-component-pruning">Improved automatic mesh LOD using component pruning&lt;/h3>
&lt;p>Our mesh simplifier currently supports the ability to collapse edges, but lacked functionality for simplifying the components themselves. &lt;a href="https://github.com/zeux">Arseny Kapoulkine&lt;/a> has addressed this shortcoming, enabling topologically complex sections of a larger mesh to more easily reach the desired &lt;abbr title="Level of Detail">LOD&lt;/abbr> target (&lt;a href="https://github.com/godotengine/godot/pull/110028">GH-110028&lt;/a>).&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/mesh-component-prune.jpg" alt="Pruned components in simplified mesh" />&lt;/p>
&lt;h3 id="rotation-visualization-and-snapping">Rotation visualization and snapping&lt;/h3>
&lt;p>The way that we present and handle our 3D space has already seen a fair number of improvements in the 4.6 cycle, but these two warrant particular mention for implementing popular features that are found in many 3D modelling programs today. Firstly, &lt;a href="https://github.com/ryevdokimov">Robert Yevdokimov&lt;/a> has expanded the 3D Transform gizmo to visualize the current delta angle of a rotation operation (&lt;a href="https://github.com/godotengine/godot/pull/108576">GH-108576&lt;/a>). This process is non-accumulating, meaning rotations beyond 360° are reset.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Rotation accumulation">
&lt;source src="/storage/blog/dev-snapshot-godot-4-6-dev-2/rotation-accumulation.mp4?1" type="video/mp4" />
&lt;/video>
&lt;p>The second comes to us from &lt;a href="https://github.com/passivestar">passivestar&lt;/a>, who integrated orbit snapping to the 3D Viewport (&lt;a href="https://github.com/godotengine/godot/pull/111509">GH-111509&lt;/a>). While holding &lt;code class="language-plaintext highlighter-rouge">Alt&lt;/code>, exiting an orbit pan will cause the resulting view to be snapped to a static, 45° offset. This is similar to directly swapping to an orthographic view, but from the convenience of orbitting and allowing for more granular 45° midpoints.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Rotation snapping">
&lt;source src="/storage/blog/dev-snapshot-godot-4-6-dev-2/rotation-snapping.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="rendering-blend-glow-before-tonemapping-and-change-default-to-screen">Rendering: Blend glow before tonemapping and change default to screen&lt;/h3>
&lt;p>&lt;abbr title="High dynamic range">&lt;a href="https://en.wikipedia.org/wiki/High_dynamic_range">HDR&lt;/a>&lt;/abbr> has been growing in prevalence as a feature in modern displays, but actual support of the feature is lagging behind somewhat. This is largely because most existing programs were designed with &lt;abbr title="Standard RGB">&lt;a href="https://en.wikipedia.org/wiki/SRGB">sRGB&lt;/a>&lt;/abbr> in mind, and necessitate retrofitting themselves to handle HDR. This process is much easier said than done, and sometimes the effects can be invisible to the average user, meaning such advancements are rarely given a proper highlight. &lt;a href="https://github.com/allenwp">Allen Pestaluky&lt;/a> has broken this convention, with a PR that improves visual quality for all users &lt;strong>and&lt;/strong> sets the stage for HDR output support (&lt;a href="https://github.com/godotengine/godot/pull/110671">GH-110671&lt;/a>).&lt;/p>
&lt;p>The first change was to blend glow before tonemapping for all rendering methods and blend modes (except soft light). While this was always the case in the Compatibility renderer, the functionality has been expanded to the Mobile and Forward+ renderers as well. Blending beforehand results in the glow effect blending in a more realistic fashion, sidestepping the hard edges and hue shifts if blended after.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Original scene&lt;/th>
&lt;th>Before tonemapping (screen, AgX, 16.29 white)&lt;/th>
&lt;th>After tonemapping (screen, AgX, 16.29 white)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/glow-original.jpg" alt="Original Scene" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/glow-before.jpg" alt="Before tonemapping (screen, AgX, 16.29 white)" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/glow-after.jpg" alt="After tonemapping (screen, AgX, 16.29 white)" />&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The second change was adjusting the default blend mode from soft light to screen for all renderers. This too was already the case for the Compatibility renderer, though that default was set with the behavior of blend glow before tonemapping in mind. As such, a change in the other renderers to match the new behavior is to be expected.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Renderer&lt;/th>
&lt;th>Soft light blend mode&lt;/th>
&lt;th>Screen blend mode&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Mobile&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/soft-light-blend-mobile.jpg" alt="Mobile renderer, soft light blend mode" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/screen-blend-mobile.jpg" alt="Mobile renderer, screen blend mode" />&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Forward+&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/soft-light-blend-forward.jpg" alt="Forward+ renderer, soft light blend mode" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-6-dev-2/screen-blend-forward.jpg" alt="Forward+ renderer, screen blend mode" />&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="card card-warning">
&lt;p>This change technically breaks compatibility since it will result in a noticeable visual change, and the previous behavior cannot be restored by simply adjusting settings. In most cases we are confident that this change in behavior will be a direct upgrade. But this change is something to be aware of if your game is using Glow at all.&lt;/p>
&lt;/div>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but heres a curated selection:&lt;/p>
&lt;ul>
&lt;li>Core: Add &lt;code class="language-plaintext highlighter-rouge">reserve_exact&lt;/code> to &lt;code class="language-plaintext highlighter-rouge">CowData&lt;/code>, and change growth factor to 1.5x (&lt;a href="https://github.com/godotengine/godot/pull/106039">GH-106039&lt;/a>).&lt;/li>
&lt;li>Core: Add &lt;code class="language-plaintext highlighter-rouge">reserve&lt;/code> function to &lt;code class="language-plaintext highlighter-rouge">Array&lt;/code>, &lt;code class="language-plaintext highlighter-rouge">Vector&lt;/code>, and &lt;code class="language-plaintext highlighter-rouge">String&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/105928">GH-105928&lt;/a>).&lt;/li>
&lt;li>Core: Add unique Node IDs to support base and instantiated scene refactorings (&lt;a href="https://github.com/godotengine/godot/pull/106837">GH-106837&lt;/a>).&lt;/li>
&lt;li>Documentation: Drop the experimental label for the Jolt Physics integration (&lt;a href="https://github.com/godotengine/godot/pull/111115">GH-111115&lt;/a>).&lt;/li>
&lt;li>Editor: Add game speed controls to the embedded game window (&lt;a href="https://github.com/godotengine/godot/pull/107273">GH-107273&lt;/a>).&lt;/li>
&lt;li>Editor: Add source lines to file locations on POT generation (&lt;a href="https://github.com/godotengine/godot/pull/111419">GH-111419&lt;/a>).&lt;/li>
&lt;li>Editor: Make file part of errors/warnings clickable in Output panel (&lt;a href="https://github.com/godotengine/godot/pull/108473">GH-108473&lt;/a>).&lt;/li>
&lt;li>Editor: Rework editor docks (&lt;a href="https://github.com/godotengine/godot/pull/106503">GH-106503&lt;/a>).&lt;/li>
&lt;li>Editor: Store script states for built-in scripts (&lt;a href="https://github.com/godotengine/godot/pull/93713">GH-93713&lt;/a>).&lt;/li>
&lt;li>GDScript: Add opt-in GDScript warning for when calling coroutine without &lt;code class="language-plaintext highlighter-rouge">await&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/107936">GH-107936&lt;/a>).&lt;/li>
&lt;li>GUI: Add &lt;code class="language-plaintext highlighter-rouge">pivot_offset_ratio&lt;/code> property to Control (&lt;a href="https://github.com/godotengine/godot/pull/70646">GH-70646&lt;/a>).&lt;/li>
&lt;li>GUI: Add auto-scroll behavior when selecting text outside the visible area in RichTextLabel (&lt;a href="https://github.com/godotengine/godot/pull/104715">GH-104715&lt;/a>).&lt;/li>
&lt;li>GUI: Visualize MarginContainer margins when selected (&lt;a href="https://github.com/godotengine/godot/pull/111095">GH-111095&lt;/a>).&lt;/li>
&lt;li>Import: OBJ: Support bump multiplier (normal scale) (&lt;a href="https://github.com/godotengine/godot/pull/110925">GH-110925&lt;/a>).&lt;/li>
&lt;li>Network: Add Core UNIX domain socket support (&lt;a href="https://github.com/godotengine/godot/pull/107954">GH-107954&lt;/a>).&lt;/li>
&lt;li>Physics: Add MeshInstance3D primitive conversion options (&lt;a href="https://github.com/godotengine/godot/pull/101521">GH-101521&lt;/a>).&lt;/li>
&lt;li>Physics: Add MultiMesh physics interpolation for 2D transforms (MultiMeshInstance2D) (&lt;a href="https://github.com/godotengine/godot/pull/107666">GH-107666&lt;/a>).&lt;/li>
&lt;li>Rendering: Add material debanding for use in Mobile rendering method (&lt;a href="https://github.com/godotengine/godot/pull/109084">GH-109084&lt;/a>).&lt;/li>
&lt;li>Rendering: Implement motion vectors in compatibility renderer (&lt;a href="https://github.com/godotengine/godot/pull/97151">GH-97151&lt;/a>).&lt;/li>
&lt;li>Rendering: Make &lt;code class="language-plaintext highlighter-rouge">OpenXRCompositionLayer&lt;/code> and its children safe for multithreaded rendering (&lt;a href="https://github.com/godotengine/godot/pull/109431">GH-109431&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>114 contributors&lt;/strong> submitted &lt;strong>323 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6-dev2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/dev-snapshot-godot-4-6-dev-1/">4.6-dev1&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6">all changes included in 4.6&lt;/a> compared to the previous &lt;a href="/releases/4.5/">4.5 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/7864ac80192e9e91bf56176af9f04cc013b580aa">&lt;code class="language-plaintext highlighter-rouge">7864ac801&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.6-dev2">
Download Godot 4.6 dev2
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-6-dev-2.jpg" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev2&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.6-dev2">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>The “Replace in Files…” function is currently broken, and will clear the contents of all files with matches when used.&lt;/strong> This issue will be fixed in the next snapshot via &lt;a href="https://github.com/godotengine/godot/pull/112033">GH-112033&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>With every release we accept that there are going to be various issues, which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p>
&lt;p>&lt;a class="btn" href="https://fund.godotengine.org/">Donate now&lt;/a>&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/dev-snapshot-godot-4-6-dev-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Mon, 20 Oct 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-6-dev-2.jpg</image></item><item><title>Maintenance release: Godot 4.5.1</title><link>https://godotengine.org/article/maintenance-release-godot-4-5-1/</link><summary>4.5's first maintenance release arrives!</summary><description>&lt;p>We saw the release of &lt;a href="/releases/4.5/">Godot 4.5&lt;/a> less than a month ago, and have already been absolutely overwhelmed with the positive reception. Since then, our team has been hard at work on the development phase of Godot 4.6 (and subsequently its &lt;a href="/article/dev-snapshot-godot-4-6-dev-1/">first snapshot&lt;/a>), and ensuring that any new regressions/bugs reported after the release of 4.5 are dealt with swiftly. The community has done an absolutely fantastic job at helping our team find and squash all of those aforementioned issues, and paved the way for us to deliver 4.5.1-stable for you today!&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="/download/">&lt;strong>Download Godot 4.5.1 now&lt;/strong>&lt;/a> or try the &lt;a href="https://editor.godotengine.org/4.5.1.stable/">online version of the Godot editor&lt;/a>.&lt;/p>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5.1-stable">
Download Godot 4.5.1 stable
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/maintenance-release-godot-4-5-1.jpg" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=stable&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5.1-stable">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;hr />
&lt;p>&lt;em>The illustration picture for this article comes from&lt;/em> &lt;a href="https://store.steampowered.com/app/3245640/Starfinder_Afterlight/?curator_clanid=41324400">&lt;strong>Starfinder: Afterlight&lt;/strong>&lt;/a>, &lt;em>a party-based RPG set in the science-fantasy universe of &lt;a href="https://paizo.com/starfinder">Paizos Starfinder&lt;/a>. You can support the title on &lt;a href="https://www.kickstarter.com/projects/epictellers/starfinder-afterlight">Kickstarter&lt;/a> and pre-order the game on &lt;a href="https://store.steampowered.com/app/3245640/Starfinder_Afterlight/?curator_clanid=41324400">Steam&lt;/a>. You can follow the developers on &lt;a href="https://bsky.app/profile/epictellers.bsky.social">Bluesky&lt;/a> or &lt;a href="https://www.youtube.com/@epictellers-entertainment">YouTube&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="changes">Changes&lt;/h2>
&lt;p>&lt;strong>50 contributors&lt;/strong> submitted around &lt;strong>92 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5.1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the &lt;a href="/releases/4.5/">4.5-stable release&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>2D: Fix redundant calls of &lt;code class="language-plaintext highlighter-rouge">CanvasItemEditor::_update_lock_and_group_button&lt;/code> on &lt;code class="language-plaintext highlighter-rouge">SceneTreeEditor&lt;/code> node selection (&lt;a href="https://github.com/godotengine/godot/pull/110320">GH-110320&lt;/a>).&lt;/li>
&lt;li>3D: GridMap: Fix cell scale not applying to the cursor mesh (&lt;a href="https://github.com/godotengine/godot/pull/104510">GH-104510&lt;/a>).&lt;/li>
&lt;li>Animation: Fix Reset on Save corrupt poses if scene has multiple Skeletons (&lt;a href="https://github.com/godotengine/godot/pull/110506">GH-110506&lt;/a>).&lt;/li>
&lt;li>Animation: Make extended SkeletonModifiers retrieve interpolated global transform (&lt;a href="https://github.com/godotengine/godot/pull/110987">GH-110987&lt;/a>).&lt;/li>
&lt;li>Audio: Add one padding frame to QOA buffer for short streams (&lt;a href="https://github.com/godotengine/godot/pull/110515">GH-110515&lt;/a>).&lt;/li>
&lt;li>Core: Change “reserve called with a capacity smaller than the current size” error message to a verbose message (&lt;a href="https://github.com/godotengine/godot/pull/110826">GH-110826&lt;/a>).&lt;/li>
&lt;li>Core: Check for &lt;code class="language-plaintext highlighter-rouge">NUL&lt;/code> characters in string parsing functions (&lt;a href="https://github.com/godotengine/godot/pull/110556">GH-110556&lt;/a>).&lt;/li>
&lt;li>Core: X11 input: prevent non-printable keys from producing empty strings (&lt;a href="https://github.com/godotengine/godot/pull/110635">GH-110635&lt;/a>).&lt;/li>
&lt;li>Documentation: Document typed dictionaries and arrays in the class reference (&lt;a href="https://github.com/godotengine/godot/pull/107071">GH-107071&lt;/a>).&lt;/li>
&lt;li>Editor: Add column boundary check in the autocompletion (&lt;a href="https://github.com/godotengine/godot/pull/110017">GH-110017&lt;/a>).&lt;/li>
&lt;li>Editor: Fix selection of remote tree using the keyboard (&lt;a href="https://github.com/godotengine/godot/pull/110738">GH-110738&lt;/a>).&lt;/li>
&lt;li>Editor: Set correct saved history after clearing (&lt;a href="https://github.com/godotengine/godot/pull/111136">GH-111136&lt;/a>).&lt;/li>
&lt;li>Export: Android: Ensure proper cleanup of the fragment (&lt;a href="https://github.com/godotengine/godot/pull/109764">GH-109764&lt;/a>).&lt;/li>
&lt;li>Export: Metal: Fix Metal compiler version inspection (&lt;a href="https://github.com/godotengine/godot/pull/110873">GH-110873&lt;/a>).&lt;/li>
&lt;li>Export: Windows: Fix application manifest in exported projects with modified resources (&lt;a href="https://github.com/godotengine/godot/pull/111316">GH-111316&lt;/a>).&lt;/li>
&lt;li>GDExtension: Fix &lt;code class="language-plaintext highlighter-rouge">--dump-extension-api-with-docs&lt;/code> indentation (&lt;a href="https://github.com/godotengine/godot/pull/110557">GH-110557&lt;/a>).&lt;/li>
&lt;li>GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once (&lt;a href="https://github.com/godotengine/godot/pull/111090">GH-111090&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Fix repeated restart attempts (&lt;a href="https://github.com/godotengine/godot/pull/111290">GH-111290&lt;/a>).&lt;/li>
&lt;li>GUI: Editor font: do not embolden the Main Font if its variable (&lt;a href="https://github.com/godotengine/godot/pull/110737">GH-110737&lt;/a>).&lt;/li>
&lt;li>GUI: Enforce zero width spaces and joiners with missing font. Do not warn about missing non-visual characters (&lt;a href="https://github.com/godotengine/godot/pull/111355">GH-111355&lt;/a>).&lt;/li>
&lt;li>GUI: Fix bottom panel being unintentionally draggable (&lt;a href="https://github.com/godotengine/godot/pull/111121">GH-111121&lt;/a>).&lt;/li>
&lt;li>GUI: Fix text servers build with disabled FreeType (&lt;a href="https://github.com/godotengine/godot/pull/111001">GH-111001&lt;/a>).&lt;/li>
&lt;li>GUI: TextServer: Enforce zero width spaces and joiners to actually be zero width and not fallback to regular space (&lt;a href="https://github.com/godotengine/godot/pull/111014">GH-111014&lt;/a>).&lt;/li>
&lt;li>Import: Material Conversion Error Handling (&lt;a href="https://github.com/godotengine/godot/pull/109369">GH-109369&lt;/a>).&lt;/li>
&lt;li>Import: OBJ importer: Support bump multiplier (normal scale) (&lt;a href="https://github.com/godotengine/godot/pull/110925">GH-110925&lt;/a>).&lt;/li>
&lt;li>Input: Fix invalid reported joypad presses (&lt;a href="https://github.com/godotengine/godot/pull/111192">GH-111192&lt;/a>).&lt;/li>
&lt;li>Input: Fix weak and strong joypad vibration being swapped (&lt;a href="https://github.com/godotengine/godot/pull/111191">GH-111191&lt;/a>).&lt;/li>
&lt;li>Navigation: [Navigation 2D] Fix sign of cross product (&lt;a href="https://github.com/godotengine/godot/pull/110815">GH-110815&lt;/a>).&lt;/li>
&lt;li>Navigation: Make navmesh rasterization errors more lenient (&lt;a href="https://github.com/godotengine/godot/pull/110841">GH-110841&lt;/a>).&lt;/li>
&lt;li>Physics: Fix bug in ManifoldBetweenTwoFaces (&lt;a href="https://github.com/godotengine/godot/pull/110507">GH-110507&lt;/a>).&lt;/li>
&lt;li>Physics: Fix CCD bodies adding multiple contact manifolds when using Jolt (&lt;a href="https://github.com/godotengine/godot/pull/110914">GH-110914&lt;/a>).&lt;/li>
&lt;li>Physics: Fix crash when calling &lt;code class="language-plaintext highlighter-rouge">move_and_collide&lt;/code> with a null &lt;code class="language-plaintext highlighter-rouge">jolt_body&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110964">GH-110964&lt;/a>).&lt;/li>
&lt;li>Physics: JoltPhysics: Fix Generic6DOFJoint3D not respecting angular limits (&lt;a href="https://github.com/godotengine/godot/pull/111087">GH-111087&lt;/a>).&lt;/li>
&lt;li>Porting: Change &lt;code class="language-plaintext highlighter-rouge">macos.permission.RECORD_SCREEN&lt;/code> version check from 10.15 to 11.0 (&lt;a href="https://github.com/godotengine/godot/pull/110936">GH-110936&lt;/a>).&lt;/li>
&lt;li>Porting: macOS: Always use “Regular” activation policy for GUI, and headless main loop for command line only tools (&lt;a href="https://github.com/godotengine/godot/pull/109795">GH-109795&lt;/a>).&lt;/li>
&lt;li>Porting: Unix: Fix retrieval of PID exit code (&lt;a href="https://github.com/godotengine/godot/pull/111058">GH-111058&lt;/a>).&lt;/li>
&lt;li>Porting: Wayland: Emulate frame event for old &lt;code class="language-plaintext highlighter-rouge">wl_seat&lt;/code> versions (&lt;a href="https://github.com/godotengine/godot/pull/105587">GH-105587&lt;/a>).&lt;/li>
&lt;li>Porting: Workaround X11 crash issue (&lt;a href="https://github.com/godotengine/godot/pull/106798">GH-106798&lt;/a>).&lt;/li>
&lt;li>Rendering: Compatibility: Fix backface culling gets ignored when double-sided shadows are used (&lt;a href="https://github.com/godotengine/godot/pull/109793">GH-109793&lt;/a>).&lt;/li>
&lt;li>Rendering: DirectX DescriptorsHeap pooling on CPU (&lt;a href="https://github.com/godotengine/godot/pull/106809">GH-106809&lt;/a>).&lt;/li>
&lt;li>Rendering: Disable unsupported SSR, SSS, DoF on transparent viewports (&lt;a href="https://github.com/godotengine/godot/pull/108206">GH-108206&lt;/a>).&lt;/li>
&lt;li>Rendering: Divide screen texture by luminance multiplier in compatibility (&lt;a href="https://github.com/godotengine/godot/pull/110004">GH-110004&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix D3D12 stencil buffer not clearing (&lt;a href="https://github.com/godotengine/godot/pull/111032">GH-111032&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix glow intensity not showing in compatibility renderer (&lt;a href="https://github.com/godotengine/godot/pull/110843">GH-110843&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix LightmapGI not being correctly applied to objects (&lt;a href="https://github.com/godotengine/godot/pull/111125">GH-111125&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix OpenXR with D3D12 using the wrong clip space projection matrix (&lt;a href="https://github.com/godotengine/godot/pull/110865">GH-110865&lt;/a>).&lt;/li>
&lt;li>Rendering: Increase precision of SpotLight attenuation calculation to avoid driver bug on Intel devices (&lt;a href="https://github.com/godotengine/godot/pull/110363">GH-110363&lt;/a>).&lt;/li>
&lt;li>Rendering: Move check for sky cubemap array back into the SkyRD initializer (&lt;a href="https://github.com/godotengine/godot/pull/110627">GH-110627&lt;/a>).&lt;/li>
&lt;li>Rendering: OpenXR: Fix ViewportTextures not displaying correct texture (OpenGL) (&lt;a href="https://github.com/godotengine/godot/pull/110002">GH-110002&lt;/a>).&lt;/li>
&lt;li>Rendering: Sort render list correctly in RD renderers (&lt;a href="https://github.com/godotengine/godot/pull/111054">GH-111054&lt;/a>).&lt;/li>
&lt;li>Rendering: Windows: Try reading GPU driver information directly from registry (&lt;a href="https://github.com/godotengine/godot/pull/109346">GH-109346&lt;/a>).&lt;/li>
&lt;li>XR: Fix late destruction access violation with OpenXRAPIExtension object (&lt;a href="https://github.com/godotengine/godot/pull/110868">GH-110868&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="known-incompatibilities">Known incompatibilities&lt;/h2>
&lt;p>As of now, there are no known incompatibilities with the previous Godot 4.5 release. &lt;strong>We encourage all users to upgrade to 4.5.1.&lt;/strong>&lt;/p>
&lt;p>If you experience any unexpected behavior change in your projects after upgrading to 4.5.1, please &lt;a href="https://github.com/godotengine/godot/issues">file an issue on GitHub&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a>.&lt;/p>
&lt;p>&lt;a class="btn" href="https://fund.godotengine.org/">Donate now&lt;/a>&lt;/p></description><category>Release</category><guid>https://godotengine.org/article/maintenance-release-godot-4-5-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Wed, 15 Oct 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/maintenance-release-godot-4-5-1.jpg</image></item><item><title>Godot Showcase - Material Maker</title><link>https://godotengine.org/article/godot-showcase-material-maker/</link><summary>RodZilla talks about his experience developing Material Maker, a procedural PBR material creation tool made with Godot.</summary><description>&lt;p>Today, we want to showcase &lt;a href="https://www.materialmaker.org/">Material Maker&lt;/a>, which is an open-source application made with Godot. Material Maker is designed to create materials and textures for use in physically-based rendering (PBR). As a reminder, Godot is more than just a game engine; using its &lt;a href="https://docs.godotengine.org/en/stable/tutorials/ui/index.html">UI building blocks&lt;/a>, it is possible to create full-featured applications for desktop, mobile and web platforms. In fact, the Godot editor is made with Godot itself!&lt;/p>
&lt;p>Material Maker had its 1.4 release in early October. This marks a significant milestone in the project, as this is the first version to be running on Godot 4. We interviewed its author, RodZilla, about how this project came to fruition and what its future might look like.&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/MOZU1MKn6zU" title="Materials created using Material Maker" frameborder="0" allowfullscreen="" style="width: 100%; aspect-ratio: 16 / 9; height: auto;">&lt;/iframe>
&lt;h2 id="can-you-tell-us-a-little-bit-about-yourself-and-your-project">Can you tell us a little bit about yourself and your project?&lt;/h2>
&lt;p>Hello, Im Rodolphe Suescun, also known as RodZilla. I am 53, I live in Grenoble, France, and work as a senior software developer in the microelectronics industry, mostly on electronic design automation tools and embedded software.&lt;/p>
&lt;p>Ive been into game development as a hobby for 25 years, mostly learning, experimenting, and creating prototypes.&lt;/p>
&lt;p>I started Material Maker back in 2018 because I wanted to create 3D games but was not very good at drawing textures. I put the project on GitHub and itch.io without much of a plan, and didnt really communicate about it. Then one day, GameFromScratch made a video about my project, downloads started rising, and a community began forming, first on Reddit, then later on Discord.&lt;/p>
&lt;p>When Material Maker reached 10,000 downloads, GameFromScratch encouraged me to apply for an Epic MegaGrant, which allowed me to spend a bit more time developing the project for a few months.&lt;/p>
&lt;p>Although it is perceived as a procedural texture authoring tool, Material Maker is mainly about generating shaders which is why it has a few uncommon features, such as exporting shaders for Shadertoy, or animated or even raymarching materials for game engines. This is also what makes it so much fun to develop.&lt;/p>
&lt;p>Material Maker now has almost 250 nodes and can export to Godot, Unity, and Unreal. It is also possible to create new nodes (either by assembling existing nodes or by writing their code using &lt;a href="https://docs.godotengine.org/en/stable/tutorials/shaders/shader_reference/shading_language.html">Godot shading language&lt;/a>) and new export targets.&lt;/p>
&lt;p>Another key part of the project is the website, where artists can share the amazing materials and nodes they create. It is the best showcase of what the tool can do, and a nice source of examples for new users.&lt;/p>
&lt;p>Finally, Im no longer alone and Material Maker has a few active contributors such as williamchange, Jowan-Spooner, and NotArme who helped a lot on the 1.4 release.&lt;/p>
&lt;h2 id="can-you-give-us-some-examples-of-games-developed-with-the-help-of-material-maker">Can you give us some examples of games developed with the help of Material Maker?&lt;/h2>
&lt;p>The first two games that come to mind are &lt;a href="https://store.steampowered.com/app/2447980/Crown_Gambit/?curator_clanid=41324400">Crown Gambit&lt;/a> and &lt;a href="https://store.steampowered.com/app/1344990/Zefyr_A_Thiefs_Melody/">Zefyr: A Thiefs Melody&lt;/a>, which were both released on Steam in June.&lt;/p>
&lt;p>&lt;em>Crown Gambit&lt;/em> is a narrative dark fantasy deck-building game (made with Godot!). Rachel Dufossé, who worked as a 2D/3D artist on the project, joined our Discord server two years ago, asking questions and showing her work from time to time, while actively promoting Material Maker in the studio she works for, Wild Wits Games. She ended up giving a talk about her work with Material Maker to Atlangames, the network of video game companies in her region.&lt;/p>
&lt;p>&lt;em>Zefyr: A Thiefs Melody&lt;/em> is an action-adventure game with nice Wind Waker and Beyond Good and Evil vibes. Mathias Fontmarty, the solo developer of this project, did not interact as much with the community, but gave a few talks about Material Maker at conferences (such as Capitole du Libre in Toulouse).&lt;/p>
&lt;p>Those are beautiful projects, and it is always a real pleasure to see users carry the Material Maker flag in their own way, whether by creating amazing games or by sharing their experiences.&lt;/p>
&lt;p>I can mention a few others, released or soon-to-come, such as &lt;a href="https://store.steampowered.com/app/2053370/Chrono_Weaver/">Chrono Weaver&lt;/a>, &lt;a href="https://store.steampowered.com/app/3697370/Beyond_The_Space_Wall/">Beyond the Space Wall&lt;/a>, &lt;a href="https://store.steampowered.com/app/1343040/Blocky_Ball/">Blocky Ball&lt;/a>, &lt;a href="https://store.steampowered.com/app/1839060/Polylithic/">Polylithic&lt;/a>, &lt;a href="https://store.steampowered.com/app/2329690/KOOK/?curator_clanid=41324400">KOOK&lt;/a>, and &lt;a href="https://store.steampowered.com/app/1171980/Neverlooted_Dungeon/">Neverlooted Dungeon&lt;/a>.&lt;/p>
&lt;p>Note to readers: the 1.4 release has a new splash screen that shows games, shaders, and materials created with Material Maker, so please feel free to contact me on Discord if you used it for your game.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/material-maker/material-maker-4.webp" alt="Material Maker splash screen featuring Crown Gambit" />&lt;/p>
&lt;blockquote>
&lt;p>One of Material Makers many splash screens; some of them are even animated!&lt;/p>
&lt;/blockquote>
&lt;h2 id="what-were-some-of-the-biggest-challenges-you-faced-during-the-development-process-and-how-did-you-overcome-them">What were some of the biggest challenges you faced during the development process, and how did you overcome them?&lt;/h2>
&lt;p>At the very beginning of the project, nodes were nearly hardcoded in GDScript and I soon realized it was a huge mistake. So I had to take a step back and come up with a generic way of describing the shader code used by nodes and assembling them. Then I added an editor for those shader nodes, which made node creation really easy.&lt;/p>
&lt;p>I am not sure it was that big of a challenge, but it took a few weeks of not touching the code, and thinking about use cases and code generation to come up with the right solution. Although shader code generation has been improved and extended since then, it has not changed that much.&lt;/p>
&lt;p>Exporting to other game engines was a bit challenging. I had to understand how they handle materials and come up with a convenient export workflow. Unreal needs a material graph and I didnt find an easy-to-generate file format for it, so Material Maker generates a Python script that creates the graph when executed in Unreal (I know it is an ugly solution).&lt;/p>
&lt;p>This challenge is not completely solved, though. When exporting dynamic materials to Unreal and Unity, Material Maker “translates” the generated GLSL shader code to HLSL. This part will need to be rewritten at some point, based on a proper GLSL parser.&lt;/p>
&lt;p>Of course, there is optimization, mainly to decrease rendering time for generated textures. And there is still a lot more to be done.&lt;/p>
&lt;p>On the non-technical challenges side, I would say that evolving from a “lone wolf working on personal projects” mindset to interacting with a very nice community of users and contributors was not without glitches. But I guess it was a well-needed evolution.&lt;/p>
&lt;h2 id="the-project-is-under-the-mit-license-and-available-for-everyone-at-github-what-made-you-decide-to-make-the-project-free-and-open-source">The project is under the MIT license and available for everyone &lt;a href="https://github.com/RodZill4/material-maker">at GitHub&lt;/a>. What made you decide to make the project free and open source?&lt;/h2>
&lt;p>I have been an open-source software user (and advocate) for quite some time. I think I installed Linux for the first time back in 1993. If I remember correctly, that was about 30 floppy disks.&lt;/p>
&lt;p>When I started Material Maker, it was just an experiment I intended to use to create textures, so I shared it under the MIT license, just like all prototypes you can find on my GitHub.&lt;/p>
&lt;p>And for me it is a hobby anyway, so it was never meant to be paid software.&lt;/p>
&lt;p>That said, donations pay for the domain name, the &lt;abbr title="Virtual Private Server">VPS&lt;/abbr>, the “Apple tax”, and whatever hardware I needed to develop Material Maker and port it to all supported platforms, and Im pretty happy with that. Huge thanks to everyone who supports this project!&lt;/p>
&lt;p>&lt;img src="/assets/showcase/material-maker/material-maker-2.webp" alt="Beehive material graph and preview" />&lt;/p>
&lt;blockquote>
&lt;p>Material showcased: &lt;em>Beehive&lt;/em> by RodZilla (included in the &lt;code class="language-plaintext highlighter-rouge">examples/&lt;/code> folder with Material Maker)&lt;/p>
&lt;/blockquote>
&lt;h2 id="how-did-you-discover-godot-what-made-you-pick-it-for-your-project">How did you discover Godot? What made you pick it for your project?&lt;/h2>
&lt;p>It is really funny that I discovered Godot just like Material Maker gained its current visibility. I discovered this game engine while watching a video from GameFromScratch covering Godot around the time it went open-source.&lt;/p>
&lt;p>I tried it for a few very small game prototypes (including one featuring a silly mouse for my very first game jam) and I must admit it immediately clicked for me. Godot was far from what it would become, but I already loved the nodes approach and how natural the overall design felt.&lt;/p>
&lt;p>Ive been using Godot for all my game development projects and prototypes ever since, and it consistently proves easy and efficient to work with.&lt;/p>
&lt;h2 id="material-maker-14-is-the-first-version-to-be-running-on-godot-4-what-upgrades-does-godot-4-bring-to-your-project">Material Maker 1.4 is the first version to be running on Godot 4. What upgrades does Godot 4 bring to your project?&lt;/h2>
&lt;p>The main change that Godot 4 brings is compute shaders which give a lot more flexibility for shader generation and help improve performance. I also used them to introduce new generated meshes (rounded cube and cylinder) to replace the default ones.&lt;/p>
&lt;p>Support for multiple windows made it possible for me to add flexible layout with undockable panels, and I will probably expose this part as a Godot addon so other application developers can reuse it.&lt;/p>
&lt;p>I also started using the new GDScript features (mainly typed arrays and dictionaries), but it will take a long time before all of Material Makers code is updated.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/material-maker/material-maker-3.webp" alt="Pavement Generator material preview" />&lt;/p>
&lt;blockquote>
&lt;p>Material showcased: &lt;a href="https://www.materialmaker.org/material?id=548">&lt;em>Pavement Generator&lt;/em> by Tarox&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;h2 id="what-challenges-have-you-encountered-while-upgrading-the-project-to-godot-4-what-would-you-like-to-see-implemented">What challenges have you encountered while upgrading the project to Godot 4? What would you like to see implemented?&lt;/h2>
&lt;p>The main challenge for me was learning the new &lt;a href="https://docs.godotengine.org/en/stable/classes/class_renderingserver.html">RenderingServer&lt;/a> and &lt;a href="https://docs.godotengine.org/en/stable/classes/class_renderingdevice.html">RenderingDevice&lt;/a> and finding out how to best use compute shaders for Material Makers use cases. Also, API changes between releases have been a bit annoying, but thats the price to pay when using bleeding edge releases.&lt;/p>
&lt;p>The only thing Im missing for Material Maker is support for saving EXR files in the release templates. I currently have to use custom-built templates for Material Maker. This is not much of an annoyance since I only have to recompile Godot whenever I use a new release.&lt;/p>
&lt;p>But speaking of possible improvements for Godot, while doing game jams with my team, we noticed Godot makes it hard for audio designers to do their job without diving into the whole Godot project (since sounds are triggered wherever there is an AudioStreamPlayer node). I wrote a small addon (called TRAudio and &lt;a href="https://github.com/RodZill4/TRAudio">available on my GitHub&lt;/a>) that tries to bridge the gap between the audio designer and the software developer, but I think Godot would benefit from supporting this natively. The addon is OK in most use cases, but triggering sounds in animations is not as convenient as it could be.&lt;/p>
&lt;h2 id="do-you-have-any-new-features-or-improvements-in-mind-for-material-maker-in-the-future">Do you have any new features or improvements in mind for Material Maker in the future?&lt;/h2>
&lt;p>Of course, Material Maker has a roadmap, but I generally do not communicate much about it so I do not promise anything my limited free time does not allow.&lt;/p>
&lt;p>That said, Material Maker 1.0 (and all previous releases) were about delivering a nice toolkit for creating seamlessly tileable materials. And 2.0 will focus on texturing 3D models (and 1.4 is a step in that direction with the new Mesh Map node).&lt;/p>
&lt;p>The painting tool in Material Maker is a nice prototype and can do quite a few impressive things (brushes are completely procedural and described by connecting nodes), and in 1.4, all PBR channels can be painted by a single compute shader. But it becomes way too slow with complex brushes, and the end result of each stroke is stored in the final textures of the painted layer. So we start with a procedural brush, and lose the procedural aspect while painting (which defeats the purpose of the approach).&lt;/p>
&lt;p>So instead of improving the current painting tool, Im thinking of introducing very basic painting features in the material authoring tool. By “very basic”, I mean painting simple masks that can be applied to parts of the graph, or UV maps that will help place a procedural shape or pattern using a CustomUV node. Thus painting would become a guide for procedural generation, which would allow an interactive yet nearly non-destructive workflow for texturing models.&lt;/p>
&lt;p>And in the short term, the &lt;a href="https://rodzill4.github.io/material-maker/doc/node_simple_easy_sdf.html">EasySDF node and its corresponding dialog&lt;/a> (that is used to edit 2D and 3D Signed Distance Functions) will get an update, on both UI and code generation sides.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/material-maker/material-maker-1.webp" alt="Broken Floor material graph and preview" />&lt;/p>
&lt;blockquote>
&lt;p>Material showcased: &lt;a href="https://www.materialmaker.org/material?id=975">&lt;em>Broken Floor&lt;/em> by Tarox&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;h2 id="how-can-one-learn-to-use-material-maker">How can one learn to use Material Maker?&lt;/h2>
&lt;p>This is probably the weakest point of this project. There are &lt;a href="https://www.youtube.com/watch?v=mSuyrsJSZ_o&amp;amp;list=PLI2XkW0E3DLhYDu30nxSiUsdBS-ziIbbo">nice video tutorials made by Kasper Arnklit Frandsen&lt;/a> and &lt;a href="https://www.youtube.com/watch?v=yKQRfrxJRLM">a few more advanced ones by Pavel Oliva&lt;/a>, but they are a bit old. It is also possible to follow Substance Designer tutorials; the nodes are different, but the concepts are the same.&lt;/p>
&lt;p>Another great way to learn is to &lt;a href="https://www.materialmaker.org/materials">grab materials from the website&lt;/a> and study their graph.&lt;/p>
&lt;p>In any case, you probably want to &lt;a href="https://discord.gg/RnHgQS9Nqq">join our Discord server&lt;/a>. Material Maker has a very nice and welcoming community.&lt;/p>
&lt;p>Material Maker definitely needs a few good-quality “official” video tutorials and I really need to make sure they happen.&lt;/p>
&lt;h2 id="thank-you-for-sharing-your-experience-using-godot-is-there-anything-you-would-like-to-plug">Thank you for sharing your experience using Godot. Is there anything you would like to plug?&lt;/h2>
&lt;p>Although I mainly mentioned Material Maker, I recently participated in six &lt;a href="https://godotwildjam.com/">Godot Wild Jams&lt;/a>, followed by a &lt;a href="https://itch.io/jam/godot-xr-game-jam-sep-2025">Godot XR Game Jam&lt;/a>, with a truly awesome team (now named Cularo Games). Were now planning to push one of those projects further. The lone wolf in me will soon be gone for good.&lt;/p>
&lt;hr />
&lt;p>Thank you RodZilla for taking the time to answer our questions! We look forward to the future of Material Maker.&lt;/p>
&lt;p>&lt;a href="https://www.materialmaker.org/">Material Maker&lt;/a> is free and open-source. It can be downloaded for Windows, macOS, and Linux on &lt;a href="https://rodzilla.itch.io/material-maker">itch.io&lt;/a>. Along with the &lt;a href="https://github.com/RodZill4/material-maker">GitHub repository&lt;/a>, there is also a &lt;a href="https://www.reddit.com/r/MaterialMaker/">subreddit&lt;/a> and &lt;a href="https://discord.gg/RnHgQS9Nqq">Discord server&lt;/a> you can join to interact with its community.&lt;/p></description><category>Showcase</category><guid>https://godotengine.org/article/godot-showcase-material-maker/</guid><dc:creator>Hugo Locurcio</dc:creator><pubDate>Tue, 14 Oct 2025 14:00:00 +0000</pubDate><image>https://godotengine.org/assets/showcase/material-maker/header.jpg</image></item><item><title>Release candidate: Godot 4.5.1 RC 2</title><link>https://godotengine.org/article/release-candidate-godot-4-5-1-rc-2/</link><summary>Hotfixes so nice, we added 'em twice!</summary><description>&lt;p>Last week saw our first &lt;a href="https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate">Release Candidate&lt;/a> snapshot for &lt;a href="/article/release-candidate-godot-4-5-1-rc-1/">4.5.1&lt;/a>, and in that time there have been even more critical bugfixes suitable for backporting. As such, were doing one more pass for good measure: 4.5.1-rc2 has arrived! Our top priority is ensuring the hotfix release is as stable as possible, so be sure to test and report any issues that arent present in 4.5-stable.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.1.rc2/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/6Ls6Bfa34">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The illustration picture for this article comes from&lt;/em> &lt;a href="https://store.steampowered.com/app/3208560/Trainatic/?curator_clanid=41324400">&lt;strong>Trainatic&lt;/strong>&lt;/a>, &lt;em>a cozy(?) game where you guide your train through a procedurally-generated world, unlocking powerful synergies and skilltrees to aid your unyielding destruction. You can buy the game on &lt;a href="https://store.steampowered.com/app/3208560/Trainatic/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/ryanforrester.bsky.social">Bluesky&lt;/a> or &lt;a href="https://www.youtube.com/@RyanForresterDev">YouTube&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="whats-new">Whats new&lt;/h2>
&lt;p>&lt;strong>31 contributors&lt;/strong> submitted &lt;strong>45 improvements&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5.1-rc2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 4.5.1-rc1 release. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5.1">all changes included in 4.5.1&lt;/a> compared to the previous 4.5 feature release.&lt;/p>
&lt;ul>
&lt;li>2D: Fix redundant calls of &lt;code class="language-plaintext highlighter-rouge">CanvasItemEditor::_update_lock_and_group_button&lt;/code> on &lt;code class="language-plaintext highlighter-rouge">SceneTreeEditor&lt;/code> node selection (&lt;a href="https://github.com/godotengine/godot/pull/110320">GH-110320&lt;/a>).&lt;/li>
&lt;li>3D: GridMap: Fix cell scale not applying to the cursor mesh (&lt;a href="https://github.com/godotengine/godot/pull/104510">GH-104510&lt;/a>).&lt;/li>
&lt;li>Animation: Fix backward/pingpong root motion in AnimationTree (&lt;a href="https://github.com/godotengine/godot/pull/110982">GH-110982&lt;/a>).&lt;/li>
&lt;li>Animation: Fix Reset on Save corrupt poses if scene has multiple Skeletons (&lt;a href="https://github.com/godotengine/godot/pull/110506">GH-110506&lt;/a>).&lt;/li>
&lt;li>Animation: Make extended SkeletonModifiers retrieve interpolated global transform (&lt;a href="https://github.com/godotengine/godot/pull/110987">GH-110987&lt;/a>).&lt;/li>
&lt;li>Core: Change “reserve called with a capacity smaller than the current size” error message to a verbose message (&lt;a href="https://github.com/godotengine/godot/pull/110826">GH-110826&lt;/a>).&lt;/li>
&lt;li>Documentation: Fix and improve &lt;code class="language-plaintext highlighter-rouge">Node2D.move_local_{x,y}()&lt;/code> description (&lt;a href="https://github.com/godotengine/godot/pull/110878">GH-110878&lt;/a>).&lt;/li>
&lt;li>Editor: Add column boundary check in the autocompletion (&lt;a href="https://github.com/godotengine/godot/pull/110017">GH-110017&lt;/a>).&lt;/li>
&lt;li>Editor: Fix &lt;code class="language-plaintext highlighter-rouge">DPITexture&lt;/code> editor icon name (&lt;a href="https://github.com/godotengine/godot/pull/110661">GH-110661&lt;/a>).&lt;/li>
&lt;li>Editor: Fix Quick Open history (&lt;a href="https://github.com/godotengine/godot/pull/111068">GH-111068&lt;/a>).&lt;/li>
&lt;li>Editor: Fix selection of remote tree using the keyboard (&lt;a href="https://github.com/godotengine/godot/pull/110738">GH-110738&lt;/a>).&lt;/li>
&lt;li>Editor: Fix the project file was not updated when some files were removed (&lt;a href="https://github.com/godotengine/godot/pull/110576">GH-110576&lt;/a>).&lt;/li>
&lt;li>Editor: Set correct saved history after clearing (&lt;a href="https://github.com/godotengine/godot/pull/111136">GH-111136&lt;/a>).&lt;/li>
&lt;li>Editor: Tweak macOS notarization export message in the editor (&lt;a href="https://github.com/godotengine/godot/pull/110793">GH-110793&lt;/a>).&lt;/li>
&lt;li>Export: Windows: Fix application manifest in exported projects with modified resources (&lt;a href="https://github.com/godotengine/godot/pull/111316">GH-111316&lt;/a>).&lt;/li>
&lt;li>GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once (&lt;a href="https://github.com/godotengine/godot/pull/111090">GH-111090&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Fix repeated restart attempts (&lt;a href="https://github.com/godotengine/godot/pull/111290">GH-111290&lt;/a>).&lt;/li>
&lt;li>GUI: Editor font: do not embolden the Main Font if its variable (&lt;a href="https://github.com/godotengine/godot/pull/110737">GH-110737&lt;/a>).&lt;/li>
&lt;li>GUI: Enforce zero width spaces and joiners with missing font. Do not warn about missing non-visual characters (&lt;a href="https://github.com/godotengine/godot/pull/111355">GH-111355&lt;/a>).&lt;/li>
&lt;li>GUI: Fix bottom panel being unintentionally draggable (&lt;a href="https://github.com/godotengine/godot/pull/111121">GH-111121&lt;/a>).&lt;/li>
&lt;li>GUI: Fix LineEdits placeholder text being selected when double clicking (&lt;a href="https://github.com/godotengine/godot/pull/110886">GH-110886&lt;/a>).&lt;/li>
&lt;li>GUI: Fix text servers build with disabled FreeType (&lt;a href="https://github.com/godotengine/godot/pull/111001">GH-111001&lt;/a>).&lt;/li>
&lt;li>GUI: TextServer: Enforce zero width spaces and joiners to actually be zero width and not fallback to regular space (&lt;a href="https://github.com/godotengine/godot/pull/111014">GH-111014&lt;/a>).&lt;/li>
&lt;li>Import: OBJ importer: Support bump multiplier (normal scale) (&lt;a href="https://github.com/godotengine/godot/pull/110925">GH-110925&lt;/a>).&lt;/li>
&lt;li>Input: Fix invalid reported joypad presses (&lt;a href="https://github.com/godotengine/godot/pull/111192">GH-111192&lt;/a>).&lt;/li>
&lt;li>Input: Fix weak and strong joypad vibration being swapped (&lt;a href="https://github.com/godotengine/godot/pull/111191">GH-111191&lt;/a>).&lt;/li>
&lt;li>Physics: Fix crash when calling &lt;code class="language-plaintext highlighter-rouge">move_and_collide&lt;/code> with a null &lt;code class="language-plaintext highlighter-rouge">jolt_body&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110964">GH-110964&lt;/a>).&lt;/li>
&lt;li>Physics: JoltPhysics: Fix Generic6DOFJoint3D not respecting angular limits (&lt;a href="https://github.com/godotengine/godot/pull/111087">GH-111087&lt;/a>).&lt;/li>
&lt;li>Porting: Change &lt;code class="language-plaintext highlighter-rouge">macos.permission.RECORD_SCREEN&lt;/code> version check from 10.15 to 11.0 (&lt;a href="https://github.com/godotengine/godot/pull/110936">GH-110936&lt;/a>).&lt;/li>
&lt;li>Porting: macOS: Always use “Regular” activation policy for GUI, and headless main loop for command line only tools (&lt;a href="https://github.com/godotengine/godot/pull/109795">GH-109795&lt;/a>).&lt;/li>
&lt;li>Porting: Unix: Fix retrieval of PID exit code (&lt;a href="https://github.com/godotengine/godot/pull/111058">GH-111058&lt;/a>).&lt;/li>
&lt;li>Porting: Wayland: Emulate frame event for old &lt;code class="language-plaintext highlighter-rouge">wl_seat&lt;/code> versions (&lt;a href="https://github.com/godotengine/godot/pull/105587">GH-105587&lt;/a>).&lt;/li>
&lt;li>Porting: Wayland: Inhibit idle in DisplayServerWayland::screen_set_keep_on (&lt;a href="https://github.com/godotengine/godot/pull/110875">GH-110875&lt;/a>).&lt;/li>
&lt;li>Rendering: Divide screen texture by luminance multiplier in compatibility (&lt;a href="https://github.com/godotengine/godot/pull/110004">GH-110004&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix glow intensity not showing in compatibility renderer (&lt;a href="https://github.com/godotengine/godot/pull/110843">GH-110843&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix LightmapGI not being correctly applied to objects (&lt;a href="https://github.com/godotengine/godot/pull/111125">GH-111125&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/69796bf7d67599b21308fb54723ed53a84e2e335">&lt;code class="language-plaintext highlighter-rouge">69796bf7d&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5.1-rc2">
Download Godot 4.5.1 rc2
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-5-1-rc-2.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc2&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5.1-rc2">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>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 &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5.1. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.&lt;/p>
&lt;p>With every release we accept that there are going to be various issues, which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug+">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a>.&lt;/p>
&lt;p>&lt;a class="btn" href="https://fund.godotengine.org/">Donate now&lt;/a>&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/release-candidate-godot-4-5-1-rc-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Wed, 08 Oct 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-5-1-rc-2.webp</image></item><item><title>Release candidate: Godot 4.5.1 RC 1</title><link>https://godotengine.org/article/release-candidate-godot-4-5-1-rc-1/</link><summary>Regression fixes coming in hot!</summary><description>&lt;p>Its been just over two weeks since the release of &lt;a href="/releases/4.5/">Godot 4.5&lt;/a>, and the overwhelmingly positive community response has been an absolute treat to behold! Our hard-working contributors have taken this energy to kick-start the development phase of Godot 4.6, resulting in our &lt;a href="/article/dev-snapshot-godot-4-6-dev-1/">first snapshot&lt;/a> coming out earlier this week.&lt;/p>
&lt;p>In saying that, the main focus was always going to be hammering out newly reported regressions encountered in the 4.5 release, and integrating any fixes deemed too risky to merge at the time. As such, weve already prepared a healthy number of regression fixes for a 4.5.1 maintenance release. This release candidate is intended to validate the fixes in an environment isolated from the new enhancements and features that 4.6 is already boasting. Your testing is crucial to detect and squash any new issues that werent present in 4.5-stable, in order to ensure that this hotfix is as clean of an upgrade as possible.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.1.rc1/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/6Ls6Bfa34">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The illustration picture for this article comes from&lt;/em> &lt;a href="https://store.steampowered.com/app/3361510/Coal_LLC/?curator_clanid=41324400">&lt;strong>Coal LLC&lt;/strong>&lt;/a>, &lt;em>a capitalism simulator where you fulfill increasingly absurd quotas through increasingly dubious methods. You can buy the game or try out the demo on &lt;a href="https://store.steampowered.com/app/3361510/Coal_LLC/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on their &lt;a href="https://www.byebyeocean.net/">website&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="whats-new">Whats new&lt;/h2>
&lt;p>&lt;strong>31 contributors&lt;/strong> submitted &lt;strong>33 improvements&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5.1-rc1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 4.5-stable release.&lt;/p>
&lt;ul>
&lt;li>Audio: Add one padding frame to QOA buffer for short streams (&lt;a href="https://github.com/godotengine/godot/pull/110515">GH-110515&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Windows: Migrate &lt;code class="language-plaintext highlighter-rouge">godot.manifest&lt;/code> to &lt;code class="language-plaintext highlighter-rouge">platform/windows&lt;/code>, include as dependency (&lt;a href="https://github.com/godotengine/godot/pull/110897">GH-110897&lt;/a>).&lt;/li>
&lt;li>Core: Avoid repeated &lt;code class="language-plaintext highlighter-rouge">_copy_on_write()&lt;/code> calls in &lt;code class="language-plaintext highlighter-rouge">Array::resize()&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110535">GH-110535&lt;/a>).&lt;/li>
&lt;li>Core: Check for &lt;code class="language-plaintext highlighter-rouge">NUL&lt;/code> characters in string parsing functions (&lt;a href="https://github.com/godotengine/godot/pull/110556">GH-110556&lt;/a>).&lt;/li>
&lt;li>Core: X11 input: prevent non-printable keys from producing empty strings (&lt;a href="https://github.com/godotengine/godot/pull/110635">GH-110635&lt;/a>).&lt;/li>
&lt;li>Documentation: Clarify that velocity doesnt need delta multiplication in CharacterBody documentation (&lt;a href="https://github.com/godotengine/godot/pull/109925">GH-109925&lt;/a>).&lt;/li>
&lt;li>Documentation: Document the interaction between Light3D cull mask and GI/volumetric fog (&lt;a href="https://github.com/godotengine/godot/pull/110423">GH-110423&lt;/a>).&lt;/li>
&lt;li>Documentation: Document typed dictionaries and arrays in the class reference (&lt;a href="https://github.com/godotengine/godot/pull/107071">GH-107071&lt;/a>).&lt;/li>
&lt;li>Documentation: Fix Basis.determinant() doc: uniform scale determinant is scale^3 (&lt;a href="https://github.com/godotengine/godot/pull/110424">GH-110424&lt;/a>).&lt;/li>
&lt;li>Editor: Correct the order of Diagonal Mode in Add Property (&lt;a href="https://github.com/godotengine/godot/pull/109214">GH-109214&lt;/a>).&lt;/li>
&lt;li>Editor: Fix typos in BlendSpace2D editors axis labels accessibility names (&lt;a href="https://github.com/godotengine/godot/pull/109847">GH-109847&lt;/a>).&lt;/li>
&lt;li>Export: Android: Ensure proper cleanup of the fragment (&lt;a href="https://github.com/godotengine/godot/pull/109764">GH-109764&lt;/a>).&lt;/li>
&lt;li>Export: Metal: Fix Metal compiler version inspection (&lt;a href="https://github.com/godotengine/godot/pull/110873">GH-110873&lt;/a>).&lt;/li>
&lt;li>GDExtension: Fix &lt;code class="language-plaintext highlighter-rouge">--dump-extension-api-with-docs&lt;/code> indentation (&lt;a href="https://github.com/godotengine/godot/pull/110557">GH-110557&lt;/a>).&lt;/li>
&lt;li>GUI: Fix LineEdit icon positon in right-to-left layout (&lt;a href="https://github.com/godotengine/godot/pull/109363">GH-109363&lt;/a>).&lt;/li>
&lt;li>Import: Material Conversion Error Handling (&lt;a href="https://github.com/godotengine/godot/pull/109369">GH-109369&lt;/a>).&lt;/li>
&lt;li>Navigation: [Navigation 2D] Fix sign of cross product (&lt;a href="https://github.com/godotengine/godot/pull/110815">GH-110815&lt;/a>).&lt;/li>
&lt;li>Navigation: Make navmesh rasterization errors more lenient (&lt;a href="https://github.com/godotengine/godot/pull/110841">GH-110841&lt;/a>).&lt;/li>
&lt;li>Physics: Fix bug in ManifoldBetweenTwoFaces (&lt;a href="https://github.com/godotengine/godot/pull/110507">GH-110507&lt;/a>).&lt;/li>
&lt;li>Physics: Fix CCD bodies adding multiple contact manifolds when using Jolt (&lt;a href="https://github.com/godotengine/godot/pull/110914">GH-110914&lt;/a>).&lt;/li>
&lt;li>Porting: Workaround X11 crash issue (&lt;a href="https://github.com/godotengine/godot/pull/106798">GH-106798&lt;/a>).&lt;/li>
&lt;li>Rendering: Compatibility: Fix backface culling gets ignored when double-sided shadows are used (&lt;a href="https://github.com/godotengine/godot/pull/109793">GH-109793&lt;/a>).&lt;/li>
&lt;li>Rendering: DirectX DescriptorsHeap pooling on CPU (&lt;a href="https://github.com/godotengine/godot/pull/106809">GH-106809&lt;/a>).&lt;/li>
&lt;li>Rendering: Disable unsupported SSR, SSS, DoF on transparent viewports (&lt;a href="https://github.com/godotengine/godot/pull/108206">GH-108206&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix d3d12 stencil buffer not clearing (&lt;a href="https://github.com/godotengine/godot/pull/111032">GH-111032&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix OpenXR with D3D12 using the wrong clip space projection matrix (&lt;a href="https://github.com/godotengine/godot/pull/110865">GH-110865&lt;/a>).&lt;/li>
&lt;li>Rendering: Increase precision of SpotLight attenuation calculation to avoid driver bug on Intel devices (&lt;a href="https://github.com/godotengine/godot/pull/110363">GH-110363&lt;/a>).&lt;/li>
&lt;li>Rendering: Move check for sky cubemap array back into the SkyRD initializer (&lt;a href="https://github.com/godotengine/godot/pull/110627">GH-110627&lt;/a>).&lt;/li>
&lt;li>Rendering: OpenXR: Fix ViewportTextures not displaying correct texture (OpenGL) (&lt;a href="https://github.com/godotengine/godot/pull/110002">GH-110002&lt;/a>).&lt;/li>
&lt;li>Rendering: Sort render list correctly in RD renderers (&lt;a href="https://github.com/godotengine/godot/pull/111054">GH-111054&lt;/a>).&lt;/li>
&lt;li>Rendering: Windows: Try reading GPU driver information directly from registry (&lt;a href="https://github.com/godotengine/godot/pull/109346">GH-109346&lt;/a>).&lt;/li>
&lt;li>XR: Fix late destruction access violation with OpenXRAPIExtension object (&lt;a href="https://github.com/godotengine/godot/pull/110868">GH-110868&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/c834443ef1fa3516e30124d8afaf448353d31010">&lt;code class="language-plaintext highlighter-rouge">c834443ef&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5.1-rc1">
Download Godot 4.5.1 rc1
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-5-1-rc-1.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5.1&amp;amp;flavor=rc1&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5.1-rc1">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>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 &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5.1. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.&lt;/p>
&lt;p>With every release we accept that there are going to be various issues, which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug+">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a>.&lt;/p>
&lt;p>&lt;a class="btn" href="https://fund.godotengine.org/">Donate now&lt;/a>&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/release-candidate-godot-4-5-1-rc-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Thu, 02 Oct 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-5-1-rc-1.webp</image></item><item><title>Looking back at GodotCon US 2025</title><link>https://godotengine.org/article/godotcon-us-2025-wrapup/</link><summary>It's time for a summary of GodotCon Boston now that all talks are available on Youtube.</summary><description>&lt;p>As you might know, this year we hosted our first US-based GodotCon in Boston. Taking place at the tail end of spring, this was three solid days focused solely on making games with the Godot Engine. Our first day had hands-on workshops followed by two days of talks. For our inaugural event we had:&lt;/p>
&lt;ul>
&lt;li>Over 300 attendees.&lt;/li>
&lt;li>Over 100 proposals.&lt;/li>
&lt;li>38 talks.&lt;/li>
&lt;li>14 showcases.&lt;/li>
&lt;li>3 great days.&lt;/li>
&lt;/ul>
&lt;p>GodotCon was run by members of the Boston Godot User Group and Boston Game Dev in co-ordination with the Godot Foundation during &lt;a href="https://gamedev.boston/">Boston Gamedev Week&lt;/a>. From May 5th to May 7th we had three days of Godot-focused content at the Microsoft New England Research and Development Center (NERD Center!). A huge thanks to Microsoft for generously donating the space. This would not have been possible without them and their commitment to supporting non-profits and open-source software.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd110020250506091817.webp" alt="Emi giving the opening keynote at the Microsoft NERD Center." />&lt;/p>
&lt;p>And while were at it, a huge thanks to all of our sponsors: &lt;a href="https://www.arm.com/">Arm Technology&lt;/a>, &lt;a href="https://www.endlessglobal.com/the-endless-foundation">Endless Foundation&lt;/a>, &lt;a href="https://www.w4games.com/">W4 Games&lt;/a>, &lt;a href="https://mikeklubnika.com/">Mike Klubnika&lt;/a>, &lt;a href="https://xogot.com/">Xogot&lt;/a>, &lt;a href="https://www.binarysolo.com/">Binary Solo&lt;/a>, and &lt;a href="https://dislamedia.com/">Disla Media&lt;/a>. Without them a conference like this would not be possible.&lt;/p>
&lt;h2 id="the-format">The format&lt;/h2>
&lt;p>For our first US-based GodotCon, we committed to three days of programming. The first day we had five different workshops that covered a host of interesting topics. &lt;a href="https://www.youtube.com/watch?v=tK2ACXUGcrY">Travis Hunter&lt;/a> walked folks through their first multiplayer experience with an incredibly fun grand finale where everyone got to play their game together. &lt;a href="https://www.youtube.com/watch?v=JqL_oZ9SG7Q">Scott Doxey&lt;/a> showed us how to make a gdextension, end-to-end. &lt;a href="https://www.youtube.com/watch?v=wWD7OCx7tNs">Simon&lt;/a> taught us way more than we ever needed to know about how Markov Chains work and how we can apply that to our projects. &lt;a href="https://www.youtube.com/watch?v=k1GvvrkIq-8">Jesse (CoderNunk)&lt;/a> gave us a method for doing anime-style 3D characters using Blender. &lt;a href="https://www.youtube.com/watch?v=f0CsbuHDr44">Nicholas OBrien&lt;/a> went into incredible depth on narrative design.&lt;/p>
&lt;p>On days 2 and 3, we got an amazing batch of talks and updates. You may have heard &lt;a href="https://www.youtube.com/watch?v=u_WMJG0menc">Adam&lt;/a> talk about how the team got C# web exports working. &lt;a href="https://www.youtube.com/watch?v=fiyf4XPanf4">Acerola&lt;/a> took us super in-depth with Compositor Effects. We got a inside look at converting &lt;a href="https://www.youtube.com/watch?v=MEZoKKAoUAU">Domekeeper to multiplayer&lt;/a>. And some dufus even talked about &lt;a href="https://www.youtube.com/watch?v=qoCWp_oP9Ng">making games on your phone&lt;/a>. All in all, there was a wide berth of topics from folks from the entire Godot community.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd11001234567891233.webp" alt="Julian, AKA StayAtHomeDev, talking about growing a YouTube audience." />&lt;/p>
&lt;p>Were happy to say that we have finally released all of the videos from GodotCon for free on YouTube; everything from lightning talks to workshops!&lt;/p>
&lt;p>&lt;a href="https://www.youtube.com/watch?v=fiyf4XPanf4&amp;amp;list=PLeG_dAglpVo5oOrjQqDTMQadVDqe1Zsom">🔗 Watch them all here&lt;/a>&lt;/p>
&lt;h2 id="the-showcase">The showcase&lt;/h2>
&lt;p>In addition to the talks and workshops, we were able to put on a small games showcase.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd1100171748217.jpg" alt="Shot of the Garage, our showcase venue, filled with people playing games." />&lt;/p>
&lt;p>In no particular order:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://store.steampowered.com/app/1941420/Burrito_Bear/">Burrito Bear by SpaceOrca&lt;/a>: Eat burritos, avoid garbage in three bold, beautiful, shiny dimensions.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/3660860/Turnip_Boy_Steals_the_Mail/">Turnip Boy Steals the Mail by Snoozy Kanoo&lt;/a>: A free new Turnip Boy adventure.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/1712700/Memori/">Memori by PracticalNPC&lt;/a>: A precision pixel platformer with challenging puzzles.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/2477750/Dunderbeck/">Dunderbeck by RUST LTD&lt;/a>: Fight, build, and eat your way across the mythical land of Cincinatti.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/2840590/no_signal/">no signal by exodrifter&lt;/a>: An emotional point-and-click hard sci-fi adventure.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/3293350/Dantes_9/">Dantes 9 by John D&lt;/a>: A roguelite action-platformer fused with a deckbuilder.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/3186280/Dukkido/">Dukkido by MariSuCho&lt;/a>: A physics-based action-RTS, featuring large handcrafted levels and dungeons.&lt;/li>
&lt;li>&lt;a href="https://store.steampowered.com/app/3211750/Neongarten/">Neongarten by Moonroof Studios&lt;/a>: A minimalist cyberpunk city builder.&lt;/li>
&lt;li>&lt;a href="https://www.comfymitten.games/devlog/turntide-tales">TurnTide Tales by Comfy Mitten&lt;/a>: An epic swashbuckling adventure across the high seas with a daring crew.&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd11005214.webp" alt="Someone playing on a controller at the Turnip Boy Steals the Mail table." />&lt;/p>
&lt;p>We also had some other cool stuff on display!&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://xogot.com/">Xogot&lt;/a>: The Godot editor on an iPad native interface.&lt;/li>
&lt;li>&lt;a href="https://www.youtube.com/watch?v=b-NQg4g9o0Q">Sweet Spot&lt;/a>: An interactive art exhibit by Michael Berthaud.&lt;/li>
&lt;li>&lt;a href="https://migeran.com/">Godot Beyond Games&lt;/a>: Migeran showed their AR / VR / XR / Mobile / Web / Robotics uses of Godot Engine for non-game work.&lt;/li>
&lt;li>&lt;a href="https://www.endlessglobal.com/foundation/access">Endless Access&lt;/a>: An education platform with lots of neat Godot integrations.&lt;/li>
&lt;/ul>
&lt;p>Many thanks go to our small group of volunteers who helped everything run smoothly. Volunteers who did tons of design work. Volunteers who helped talks run smoothly. Volunteers who basically lived at the badge and merch tables and helped us pack our awesome swag bags.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd110020250508221757.webp" alt="A table of goods collected at GodotCon. Godot branded tote, Buckshot Roulette sticker packs, cards and stickers from the showcase games, badge, pins, and the GodotCon Anthology Mixtape" />&lt;img src="/storage/blog/godotcon-us-2025/56bdd11005193.webp" alt="A close-up shot of the GodotCon T-shirt that was for sale." />&lt;/p>
&lt;p>(Speaking of swag bags, how cool was our awesome Anthology “cassette” that included games, demos, and experiments by our speakers and showcasers!?)&lt;/p>
&lt;p>&lt;img src="/storage/blog/godotcon-us-2025/56bdd110020250506231922551.webp" alt="A glamour shot of the GodotCon Anthology Mixtape." />&lt;/p>
&lt;h1 id="the-future">The future&lt;/h1>
&lt;p>When we first mentioned GodotCon Boston, folks were disappointed at the thought of missing a Godot event in Europe. Well, let that thought drift away. Although the name might be different, weve got Europes Godot Engine event, &lt;a href="https://godotfest.com/">GodotFest happening in November&lt;/a>, and the Godot Foundation has already started organizing the GodotCon EU 2026. Get your tickets for GodotFest now! The prices were just lowered, but they go up starting in October.&lt;/p>
&lt;p>&lt;em>But what about GodotCon in the US!?&lt;/em>&lt;/p>
&lt;p>Youre hearing it here first. GodotCon US will take place in &lt;strong>Boston&lt;/strong> again next year. Putting on GodotCon to this level takes a large effort. The Boston Godot User Group put on a well-organized event. This time they have an entire year to prepare for something even bigger and better.&lt;/p>
&lt;p>&lt;em>Do you want to put on the next GodotCon in your city?&lt;/em> Lets make it happen! Reach out and get a conversation started. GodotCon loves to travel, but there are a few things wed prefer to see from a potential GodotCon site:&lt;/p>
&lt;ul>
&lt;li>An experienced, dedicated game development group. Its hard to trust a group that hasnt been around for a year to stick together for another. (Besides, you need a large pool of volunteers!)&lt;/li>
&lt;li>Some organizing experience.&lt;/li>
&lt;li>Somewhere easy to travel to.&lt;/li>
&lt;/ul>
&lt;p>Our GodotCon organizers would love to work with you and get you to successfully host an event.&lt;/p>
&lt;h1 id="the-support">The support&lt;/h1>
&lt;p>If youd like to help keep GodotCon running, please consider &lt;a href="https://fund.godotengine.org/">supporting the Godot Foundation&lt;/a>. Our goal for these events is always to try and keep the cost low so that more of the community can participate. Financial support from the Godot Foundation and sponsorships helps us to do so.&lt;/p></description><category>Events</category><guid>https://godotengine.org/article/godotcon-us-2025-wrapup/</guid><dc:creator>Chad Stewart</dc:creator><pubDate>Wed, 01 Oct 2025 14:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/godotcon-us-2025/looking-back-godotcon-2025.webp</image></item><item><title>Dev snapshot: Godot 4.6 dev 1</title><link>https://godotengine.org/article/dev-snapshot-godot-4-6-dev-1/</link><summary>The calm before the storm…</summary><description>&lt;p>The first development snapshot for 4.6 has arrived! As is often the case for our first development snapshot, a significant portion of quality PRs from our backlog are finally able to see the light of day, as they were either locked out from the 4.5 feature freeze or deemed too risky to merge for the stable release. In saying that though, this is &lt;em>by far&lt;/em> the biggest our backlog has ever been, so getting it all in for an initial snapshot was unrealistic. As such, while this may mean a slower trickle of PRs initially, you can expect future development snapshots to further expand on the foundation that this release sets.&lt;/p>
&lt;p>The overwhelming majority of changes this time around are bugfixes, with most already slated to be backported to 4.5.1-stable in the very near future! In a sense, this release is serving not only as a foundation for 4.6, but for 4.5.1 as well; meaning, testing this build is crucial to ensure a smooth release for both. However, weve already got quite a few enhancements and features integrated that will remain exclusive to 4.6, so those wishing to stick with 4.5 may want to hold out for 4.5.1-rc1 coming later this week.&lt;/p>
&lt;p>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!&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.6.dev1/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/3yJ7i8kop">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/2256450/RAM_Random_Access_Mayhem/?curator_clanid=41324400">&lt;strong>RAM: Random Access Mayhem&lt;/strong>&lt;/a>, &lt;em>a rougelike where you play as the enemies. You can buy the game or try out the demo on &lt;a href="https://store.steampowered.com/app/2256450/RAM_Random_Access_Mayhem/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://twitter.com/Xylem_Studios">Twitter&lt;/a> or &lt;a href="https://www.youtube.com/@xylemstudios">YouTube&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="drag-and-drop-export-variables">Drag-and-drop &lt;code class="language-plaintext highlighter-rouge">@export&lt;/code> variables&lt;/h3>
&lt;p>Part of starting out slow with enhancements in the development cycle means that you can expect quite a lot of QOL additions in the near future. One such addition that were excited to showcase comes from &lt;a href="https://github.com/fkeyzuwu">fkeyz&lt;/a>: the ability to drag-and-drop objects to the script editor to automatically create an exported variable! (&lt;a href="https://github.com/godotengine/godot/pull/106341">GH-106341&lt;/a>)&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Drag-and-drop demonstration">
&lt;source src="/storage/blog/dev-snapshot-godot-4-6-dev-1/drag-and-drop-export.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="openxr-add-support-for-spatial-entities-extensions">OpenXR: Add support for Spatial Entities Extensions&lt;/h3>
&lt;p>As &lt;a href="https://github.com/BastiaanOlij">Bastiaan Olij&lt;/a> notes in his PR &lt;a href="https://github.com/godotengine/godot/pull/107391">GH-107391&lt;/a>, the &lt;a href="https://www.khronos.org/blog/openxr-spatial-entities-extensions-released-for-developer-feedback">OpenXR Spatial Entities Extensions&lt;/a> was introduced to standardize obtaining and interacting with information about the users real world environment. This is an absolute goliath of a specification, and is reflected in the implementation seeing over &lt;strong>75 hundred lines of code&lt;/strong> changed. If youre interested in seeing the changes firsthand (and have the necessary equipment for it), be sure to check out Bastiaans accompanying &lt;a href="https://github.com/BastiaanOlij/spatial-entities-demo">demo project&lt;/a>.&lt;/p>
&lt;h3 id="hide-control-focus-when-given-via-mouse-input">Hide &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> focus when given via mouse input&lt;/h3>
&lt;p>Courtesy of &lt;a href="https://github.com/YeldhamDev">Michael Alexsander&lt;/a>, the focus state logic for mouse and touch is now decoupled from keyboard and joypad (&lt;a href="https://github.com/godotengine/godot/pull/110250">GH-110250&lt;/a>). While its common for programs to have significant overlap between registering inputs of these types, its not uncommon for systems to deliberately stylize the two types separately, often handling their inputs in entirely separate ways. This change enables that granular control for toolmakers and UI designers. Included in the PR is a comprehensive ruleset for when focus is shown, which weve included below:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Situation&lt;/th>
&lt;th> &lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Clicking a &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> with the mouse, giving it focus.&lt;/td>
&lt;td>❌&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Successfully switching focus via keyboard/joypad actions.&lt;/td>
&lt;td>✔️&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Attempting to switch focus via keyboard/joypad actions but still remaining on the same &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code>.&lt;/td>
&lt;td>✔️&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Clicking somewhere with the mouse while having a &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> with visible focus.&lt;/td>
&lt;td>❌&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Clicking with the mouse a visibly focused &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> (deviates from how it works in browsers).&lt;/td>
&lt;td>❌&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Using &lt;code class="language-plaintext highlighter-rouge">Control.grab_focus(true)&lt;/code>.&lt;/td>
&lt;td>❌&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="card card-info" style="margin-top: 1em;">
&lt;p>The previous behavior can be achieved by enabling &lt;code class="language-plaintext highlighter-rouge">gui/common/always_show_focus_state&lt;/code>.&lt;/p>
&lt;/div>
&lt;h3 id="remove-prompt-to-restart-editor-after-changing-custom-theme">Remove prompt to restart editor after changing custom theme&lt;/h3>
&lt;p>A common pain-point weve heard from creators attempting to integrate custom themes for the Godot editor itself is how pace-breaking the process can feel. This was a direct result of swapping between themes requiring a hard reset of the entire editor instance, making incremental tests tedious and realtime comparison virtually impossible. This makes sense, of course, as an editors theme is surely baked into the editor itself such that any change of the sort would need to jump through countless hurdles to make this feature possible. After all, you cant just flip a switch and have everything “just work”.&lt;/p>
&lt;p>Anyway, &lt;a href="https://github.com/ryevdokimov">Robert Yevdokimov&lt;/a> flipped a switch and everything “just worked”. (&lt;a href="https://github.com/godotengine/godot/pull/100876">GH-100876&lt;/a>)&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Swapping themes without a reset">
&lt;source src="/storage/blog/dev-snapshot-godot-4-6-dev-1/theme-swap-no-reset.mp4?1" type="video/mp4" />
&lt;/video>
&lt;p>Oops.&lt;/p>
&lt;p>To clarify: once-upon-a-time this reset was almost certainly necessary. Our internal logic for theming and customization is unrecognizable compared to their humble beginnings, and this is far from the first setting that was elevated to real-time support. Its common for settings that become real-time to have a PR that explicitly targets the feature in question, but its rare for such features to have their changes exist in a vacuum. Perhaps there are other features out there, just like this, that have pre-conceived restrictions long-addressed without anyone realizing it. Until someone shows up to challenge those restrictions, we may never know.&lt;/p>
&lt;div class="card card-info" style="margin-top: 1em;">
&lt;p>The theme showcased for comparison is the &lt;a href="https://github.com/passivestar/godot-minimal-theme">Godot Minimal Theme&lt;/a> by &lt;a href="https://github.com/passivestar">passivestar&lt;/a>.&lt;/p>
&lt;/div>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but heres a curated selection:&lt;/p>
&lt;ul>
&lt;li>2D: Avoid unnecessary updates in &lt;code class="language-plaintext highlighter-rouge">TileMapLayer&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/109243">GH-109243&lt;/a>).&lt;/li>
&lt;li>3D: Do not require editor restart when changing manipulator gizmo opacity setting (&lt;a href="https://github.com/godotengine/godot/pull/108549">GH-108549&lt;/a>).&lt;/li>
&lt;li>C#: Add C# translation parser support (&lt;a href="https://github.com/godotengine/godot/pull/99195">GH-99195&lt;/a>).&lt;/li>
&lt;li>Core: Add Find Sequence to &lt;code class="language-plaintext highlighter-rouge">Span&lt;/code>s, and consolidate negative indexing behavior (&lt;a href="https://github.com/godotengine/godot/pull/104332">GH-104332&lt;/a>).&lt;/li>
&lt;li>Editor: Allow to use sliders for integers in &lt;code class="language-plaintext highlighter-rouge">EditorSpinSlider&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110459">GH-110459&lt;/a>).&lt;/li>
&lt;li>Editor: FindInFiles: Show the number of matches for each file (&lt;a href="https://github.com/godotengine/godot/pull/110770">GH-110770&lt;/a>).&lt;/li>
&lt;li>Editor: Fix vertical alignment of Inspector category titles (&lt;a href="https://github.com/godotengine/godot/pull/110303">GH-110303&lt;/a>).&lt;/li>
&lt;li>Editor: Show “No Translations Configured” message for empty translation preview menu (&lt;a href="https://github.com/godotengine/godot/pull/107649">GH-107649&lt;/a>).&lt;/li>
&lt;li>Editor: Speed up large selections in the editor (&lt;a href="https://github.com/godotengine/godot/pull/109515">GH-109515&lt;/a>).&lt;/li>
&lt;li>Editor: Use a fixed-width font for the expression evaluator (&lt;a href="https://github.com/godotengine/godot/pull/109166">GH-109166&lt;/a>).&lt;/li>
&lt;li>Export: Add “Show Encryption Key” toggle (&lt;a href="https://github.com/godotengine/godot/pull/106146">GH-106146&lt;/a>).&lt;/li>
&lt;li>GDScript: Elide unnecessary copies in &lt;code class="language-plaintext highlighter-rouge">CONSTRUCT_TYPED_*&lt;/code> opcodes (&lt;a href="https://github.com/godotengine/godot/pull/110717">GH-110717&lt;/a>).&lt;/li>
&lt;li>Import: Switch LOD generation to use iterative simplification (&lt;a href="https://github.com/godotengine/godot/pull/110027">GH-110027&lt;/a>).&lt;/li>
&lt;li>Porting: Wayland: Implement the xdg-toplevel-icon-v1 protocol (&lt;a href="https://github.com/godotengine/godot/pull/107096">GH-107096&lt;/a>).&lt;/li>
&lt;li>Rendering: Add methods to draw ellipses (&lt;a href="https://github.com/godotengine/godot/pull/85080">GH-85080&lt;/a>).&lt;/li>
&lt;li>Rendering: Add ubershader support to material and SDF variants in Forward+ (&lt;a href="https://github.com/godotengine/godot/pull/109401">GH-109401&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>98 contributors&lt;/strong> submitted &lt;strong>220 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6-dev1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 4.5-stable.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/8d8041bd4dab30e51ecf5be21dc7bf1f6a26c039">&lt;code class="language-plaintext highlighter-rouge">8d8041bd4&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.6-dev1">
Download Godot 4.6 dev1
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-6-dev-1.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.6&amp;amp;flavor=dev1&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.6-dev1">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>There are currently no known issues introduced by this release.&lt;/p>
&lt;p>With every release we accept that there are going to be various issues, which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p>
&lt;p>&lt;a class="btn" href="https://fund.godotengine.org/">Donate now&lt;/a>&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/dev-snapshot-godot-4-6-dev-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Tue, 30 Sep 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-6-dev-1.webp</image></item><item><title>Ensuring quality in the Godot documentation, a continuous process</title><link>https://godotengine.org/article/ensuring-quality-godot-documentation/</link><summary>The Godot documentation is the fruits of the labor of hundreds of people working together. How do we ensure the highest possible level of quality, while making it easy for anyone to contribute? Find out in this article.</summary><description>&lt;p>What makes up the quality and usability of an open-source project is not just about its code. A big part of what makes a project useful to the community is its documentation.&lt;/p>
&lt;p>Over the years, Godot contributors have developed many tools and processes to ensure the highest possible level of quality for the &lt;a href="https://docs.godotengine.org/">documentation&lt;/a>. Read on if youre curious about how the documentation is made.&lt;/p>
&lt;h2 id="documentation-repository-organization">Documentation repository organization&lt;/h2>
&lt;p>Godots documentation is hosted on &lt;a href="https://about.readthedocs.com/">Read the Docs&lt;/a>. This service provides hosting for projects using &lt;a href="https://www.sphinx-doc.org/">Sphinx&lt;/a>, which is a static site generator targeted at building documentation.&lt;/p>
&lt;p>The documentations source files are hosted &lt;a href="https://github.com/godotengine/godot-docs">on GitHub&lt;/a>. Several customizations have been made to improve readability, such as &lt;a href="https://github.com/godotengine/godot-docs/blob/master/_static/css/custom.css">adding a dark theme&lt;/a> (used according to browser/OS preferences) and &lt;a href="https://github.com/godotengine/godot-docs/blob/master/_extensions/gdscript.py">GDScript syntax highlighting&lt;/a>.&lt;/p>
&lt;p>There is a continuous integration system in place, which performs several automated tasks:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/godotengine/godot-docs/blob/master/.github/workflows/ci.yml">General continuous integration&lt;/a>
&lt;ul>
&lt;li>Runs pre-commit hooks and builds the website to ensure no errors occur. The pre-commit hooks are configured to check for typos using &lt;a href="https://github.com/codespell-project/codespell">codespell&lt;/a>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/godotengine/godot-docs/blob/master/.github/workflows/sync_class_ref.yml">Synchronize the class reference&lt;/a>
&lt;ul>
&lt;li>Automatically synchronizes the generated class reference with the &lt;a href="https://github.com/godotengine/godot/tree/master/doc/classes">class reference XML&lt;/a> from the main Godot repository.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/godotengine/godot-docs/blob/master/.github/workflows/build_offline_docs.yml">Build offline documentation in HTML and ePub formats&lt;/a>
&lt;ul>
&lt;li>Creates downloads of the documentation in offline-friendly formats.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/godotengine/godot-docs/blob/master/.github/workflows/check_urls.yml">Check URLs for dead links&lt;/a>
&lt;ul>
&lt;li>URLs can stop working over time for several reasons. This check makes it possible to be informed of link rot and replace links with archived versions when needed.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/godotengine/godot-docs/blob/master/.github/workflows/cherrypick.yml">Automatically cherry-pick relevant pull requests to stable branches&lt;/a>
&lt;ul>
&lt;li>The documentation is split into several branches (one for &lt;code class="language-plaintext highlighter-rouge">master&lt;/code>, one for the latest &lt;code class="language-plaintext highlighter-rouge">stable&lt;/code> version, one for &lt;code class="language-plaintext highlighter-rouge">4.3&lt;/code> and so on). Pull requests that make changes relevant for stable versions are assigned a label such as &lt;code class="language-plaintext highlighter-rouge">cherrypick:4.3&lt;/code>. When the pull request is merged, the commit is automatically cherry-picked to the corresponding stable branch.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="internationalizing-the-documentation">Internationalizing the documentation&lt;/h2>
&lt;p>As the Godot community is worldwide, we want the ability to provide not only the Godot editor in users native languages, but also the documentation.&lt;/p>
&lt;p>To internationalize content that gets continuously updated, we use dedicated tooling to keep the translations in sync with the source material. Sphinx can extract content from each page to put in translation catalogs in the &lt;a href="https://en.wikipedia.org/wiki/Gettext">Gettext&lt;/a> format (POT/PO files, &lt;a href="https://docs.godotengine.org/en/stable/tutorials/i18n/localization_using_gettext.html">also supported by Godot!&lt;/a>). We merge these 500 POT files into a monolithic “Godot Documentation” component (500,000 words).&lt;/p>
&lt;p>The class reference is handled separately as its source material is not Sphinxs reStructuredText files, but XML files in the engine repository. For this, we use &lt;a href="https://github.com/godotengine/godot-editor-l10n/blob/main/scripts/extract_classes.py">a script&lt;/a> to extract the descriptions from the XML files and generate a Gettext POT file (600,000 words).&lt;/p>
&lt;p>So were currently at 1,100,000 words of documentation to translate! To put this into perspective, the Godot editors translation has a bit more than 40,000 words.&lt;/p>
&lt;p>Godot uses &lt;a href="https://hosted.weblate.org">Hosted Weblate&lt;/a> as a collaborative translation platform. This greatly simplifies the barrier to entry for editing Gettext files without merge conflicts, and provides a number of additional features such as suggestions, translation memory, or the ability to cross-compare translations.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://hosted.weblate.org/projects/godot-engine/godot-docs/">&lt;strong>Godot Documentation&lt;/strong>&lt;/a> and &lt;a href="https://hosted.weblate.org/projects/godot-engine/godot-class-reference/">&lt;strong>Class Reference&lt;/strong>&lt;/a> components on Hosted Weblate&lt;/li>
&lt;li>Localized documentation websites: &lt;a href="https://docs.godotengine.org/cs/4.x/">cs&lt;/a>, &lt;a href="https://docs.godotengine.org/de/4.x/">de&lt;/a>, &lt;a href="https://docs.godotengine.org/es/4.x/">es&lt;/a>, &lt;a href="https://docs.godotengine.org/fr/4.x/">fr&lt;/a>, &lt;a href="https://docs.godotengine.org/it/4.x/">it&lt;/a>, &lt;a href="https://docs.godotengine.org/ja/4.x/">ja&lt;/a>, &lt;a href="https://docs.godotengine.org/ko/4.x/">ko&lt;/a>, &lt;a href="https://docs.godotengine.org/pl/4.x/">pl&lt;/a>, &lt;a href="https://docs.godotengine.org/pt-br/4.x/">pt-br&lt;/a>, &lt;a href="https://docs.godotengine.org/ru/4.x/">ru&lt;/a>, &lt;a href="https://docs.godotengine.org/uk/4.x/">uk&lt;/a>, &lt;a href="https://docs.godotengine.org/zh-cn/4.x/">zh-cn&lt;/a>, &lt;a href="https://docs.godotengine.org/zh-tw/4.x/">zh-tw&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://contributing.godotengine.org/en/latest/documentation/translation/index.html">Documentation on contributing translations&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://chat.godotengine.org/channel/translation">&lt;code class="language-plaintext highlighter-rouge">#translation&lt;/code> channel on the Godot Contributors Chat&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;img alt="Hosted Weblate Godot documentation website screenshot" src="/storage/blog/ensuring-quality-godot-documentation/hosted-weblate.webp" />&lt;/p>
&lt;h2 id="splitting-the-contributor-documentation-to-its-own-website">Splitting the contributor documentation to its own website&lt;/h2>
&lt;p>Since September 2025, documentation for new and returning engine contributors has been split to its own website, &lt;a href="https://contributing.godotengine.org">contributing.godotengine.org&lt;/a>. This website is powered by Sphinx, just like the main documentation. This split was motivated by several factors:&lt;/p>
&lt;ul>
&lt;li>The documentation is split by minor version, but the contributing documentation generally does not need a version split. Feature development always happens on the &lt;code class="language-plaintext highlighter-rouge">master&lt;/code> branch, with cherry-picking towards the previous stable branch. In practice, its easier to maintain only one version of the documentation.&lt;/li>
&lt;li>Contributing to the engine requires English reading comprehension. The existing documentation had some translations available, but they were not always complete or up-to-date. Focusing on English for contribution guides reduces the burden on translators, which can then better focus on other sections of the manual.&lt;/li>
&lt;/ul>
&lt;p>Note that some of the pages that were previously in the Contributing section of the documentation were moved to a new section called &lt;a href="https://docs.godotengine.org/en/latest/engine_details/architecture/index.html">Engine details&lt;/a>. These pages are not just useful for engine contributors, but also for people looking to compile their own builds and write custom modules in C++.&lt;/p>
&lt;p>As an aside, splitting this website allows it to build much faster, which is useful when testing changes locally. The main documentation website now also builds slightly faster, but is still slow due to containing the class reference. The GitHub repository for the new website can be found at &lt;a href="https://github.com/godotengine/godot-contributing-docs">godotengine/godot-contributing-docs&lt;/a>.&lt;/p>
&lt;h2 id="class-reference-progress-tracker">Class reference progress tracker&lt;/h2>
&lt;p>The Godot documentation is more than just a manual. It also contains an hosted mirror of the &lt;em>class reference&lt;/em>, which documents every class thats exposed to the scripting API in the engine. This class reference can be read directly offline in the editor, but the hosted version can be linked to on a website.&lt;/p>
&lt;p>Since the class reference represents a massive amount of items to document, we built a website to track the documentation progress for each class:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://godotengine.github.io/doc-status/">&lt;strong>Godot class reference status&lt;/strong>&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>This website relies on the &lt;a href="https://github.com/godotengine/godot/blob/master/doc/tools/doc_status.py">&lt;code class="language-plaintext highlighter-rouge">doc_status.py&lt;/code>&lt;/a> script from the main Godot repository, which detects the completion percentage and outputs a Markdown table with the results.&lt;/p>
&lt;p>Being aware of the overall and per-class completion percentages at all times made it a lot easier to improve the documentation coverage. As of writing, the overall completion percentage is &lt;strong>97%&lt;/strong>. With additional efforts from &lt;a href="https://contributing.godotengine.org/en/latest/documentation/class_reference.html">contributors like you&lt;/a>, we can perhaps reach 100% completion in the future.&lt;/p>
&lt;p>&lt;img alt="Godot class reference status website screenshot" src="/storage/blog/ensuring-quality-godot-documentation/doc-status.webp" />&lt;/p>
&lt;h2 id="team-reports-for-class-reference-pull-requests">Team reports for class reference pull requests&lt;/h2>
&lt;p>Another way for contributors to organize pull requests and work through the backlog is to use the &lt;em>team reports&lt;/em> website. This website was built for contributors to check all open pull requests in a more convenient fashion than using GitHubs web interface. Using this website, its easier to see when pull requets were last active and whether they are in a mergeable state (which may not be the case due to merge conflicts).&lt;/p>
&lt;p>This website only tracks the main Godot repository on GitHub, not the documentation repository. With that said, in the context of the documentation, this is still relevant since all contributions to the class reference are sent to the main Godot repository. (The documentation repository only hosts a generated copy of the class reference from the XML source files.)&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://godotengine.github.io/godot-team-reports/#documentation">&lt;strong>Godot Team Reports&lt;/strong>&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;img alt="Godot team reports website screenshot" src="/storage/blog/ensuring-quality-godot-documentation/team-reports.webp" />&lt;/p>
&lt;h2 id="user-notes-system">User notes system&lt;/h2>
&lt;p>In 2024, the Godot documentation got an integration for user notes using &lt;a href="https://giscus.app/">Giscus&lt;/a>. This allows users to share additional information relevant for documentation readers. This integration is currently present on the &lt;code class="language-plaintext highlighter-rouge">4.4&lt;/code>, &lt;code class="language-plaintext highlighter-rouge">4.5&lt;/code>, &lt;code class="language-plaintext highlighter-rouge">stable&lt;/code>, and &lt;code class="language-plaintext highlighter-rouge">latest&lt;/code> branches of the documentation.&lt;/p>
&lt;p>As an example, you can see it in action at the bottom of the &lt;a href="https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html#godot-giscus">GDScript reference&lt;/a> manual page.&lt;/p>
&lt;p>&lt;img alt="Godot documentation user notes screenshot" src="/storage/blog/ensuring-quality-godot-documentation/user-notes.webp" />&lt;/p>
&lt;h3 id="why-have-user-notes-on-the-documentation">Why have user notes on the documentation?&lt;/h3>
&lt;p>The Godot documentation is an essential learning resource for new and returning users alike. However, the content can sometimes benefit from additional clarification not found on the page itself. Since its an officially-maintained resource, it also tries to limit the number of third-party resources it links to.&lt;/p>
&lt;p>To resolve this problem, weve decided to introduce a &lt;em>user note system&lt;/em> in the Godot documentation. Inspired by user-provided comment systems such as &lt;a href="https://www.php.net/docs.php">PHPs&lt;/a>, this allows the community to make the documentation more useful for everyone: not just for users, but also for engine developers.&lt;/p>
&lt;p>&lt;strong>It should be noted that &lt;em>user notes&lt;/em> are different from the usual comments youd find on a blog post.&lt;/strong> As described by the &lt;a href="https://github.com/godotengine/godot-docs-user-notes/discussions/1">user-contributed notes policy&lt;/a>, they are intended to be used to provide additional context for the documentation or link to community resources. They are not designed to report bugs or suggest features. When the documentation is incorrect or outdated, please open an issue on the &lt;a href="https://github.com/godotengine/godot-docs">godot-docs&lt;/a> repository instead of leaving a user note.&lt;/p>
&lt;h3 id="how-user-notes-are-implemented">How user notes are implemented&lt;/h3>
&lt;p>The user notes integration is powered by &lt;a href="https://giscus.app/">Giscus&lt;/a>, an open-source script that allows integrating a GitHub Discussions thread on a web page. To do so, it automatically creates a discussion in a &lt;a href="https://github.com/godotengine/godot-docs-user-notes">repository&lt;/a> when the first comment on a page is posted. On the Godot documentation, pages are matched based on their file name, but several page matching modes are provided by Giscus depending on the websites needs.&lt;/p>
&lt;p>Being hosted on GitHub Discussions allows anyone with a GitHub account to comment. On the organizational side, this also reduces system administration overhead as no separate backend or database for hosting comments is required. Spam protection (a traditionally difficult topic with comment platforms) is handled on GitHubs end, which has historically been quite effective at avoiding spam.&lt;/p>
&lt;p>As a bonus, you can also watch the &lt;a href="https://github.com/godotengine/godot-docs-user-notes">godot-docs-user-notes&lt;/a> repository on GitHub to be informed of new user notes being added to documentation pages. Replying to user notes left by others is a good way to get started with documentation improvements, as many user notes bring new information that can be incorporated into the main page.&lt;/p>
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>This organization allows more people to contribute in various ways, even with limited technical know-how. Not only does the documentation benefit from those opening &lt;a href="https://github.com/godotengine/godot-docs/pulls">pull requests&lt;/a>, its also continuously improved every day by those posting user notes at the bottom of documentation pages. These user notes bring further clarifications and context to the manual pages, as well as linking to useful resources.&lt;/p>
&lt;p>A massive &lt;strong>thank you&lt;/strong> to &lt;a href="https://github.com/godotengine/godot-docs/graphs/contributors">all contributors to the documentation&lt;/a>! As always, we welcome contributions to the documentation. &lt;a href="https://contributing.godotengine.org/en/latest/documentation/overview.html">The contribution process is well-documented&lt;/a>, but youre welcome to hop on the &lt;a href="https://chat.godotengine.org/channel/documentation">&lt;code class="language-plaintext highlighter-rouge">#documentation&lt;/code> channel on the Godot Contributors Chat&lt;/a> if you have any questions.&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>If you would like to help with the development of these features, please consider &lt;a href="https://fund.godotengine.org/">supporting the project financially&lt;/a>! More funding allows us to sponsor volunteer contributors and better respond to technical demands of project users.&lt;/p></description><category>News</category><guid>https://godotengine.org/article/ensuring-quality-godot-documentation/</guid><dc:creator>Hugo Locurcio</dc:creator><pubDate>Thu, 18 Sep 2025 14:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/ensuring-quality-godot-documentation.webp</image></item><item><title>Godot 4.5, making dreams accessible</title><link>https://godotengine.org/article/godot-4-5-making-dreams-accessible/</link><summary>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.</summary><description/><category>Release</category><guid>https://godotengine.org/article/godot-4-5-making-dreams-accessible/</guid><dc:creator>Godot contributors</dc:creator><pubDate>Mon, 15 Sep 2025 20:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/godot-4-5-making-dreams-accessible.webp?cache=v2</image></item><item><title>Release candidate: Godot 4.5 RC 2</title><link>https://godotengine.org/article/release-candidate-godot-4-5-rc-2/</link><summary>One more for the road, again!</summary><description>&lt;p>On Friday of last week, we dropped our first &lt;a href="https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate">Release Candidate&lt;/a> build. As a reminder, we release RC builds once we &lt;em>think&lt;/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, were 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.&lt;/p>
&lt;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.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.rc2/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/h9JcJGHfg">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/3410180/Overlooting/?curator_clanid=41324400">&lt;strong>Overlooting&lt;/strong>&lt;/a>, &lt;em>a dungeon crawler where inventory management is crucial, as you must adapt your strategy to a skill tree that changes every run! You can buy the game on &lt;a href="https://store.steampowered.com/app/3410180/Overlooting/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/posingpossums.bsky.social">Bluesky&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;p>For an overview of whats new overall in Godot 4.5, have a look at the highlights for &lt;a href="/article/dev-snapshot-godot-4-5-beta-1/">4.5 beta 1&lt;/a>, which cover a lot of the changes. This blog post only covers the changes between RC 1 and RC 2. This section covers all changes made since the &lt;a href="/article/release-candidate-godot-4-5-rc-1/">RC 1 snapshot&lt;/a>, which are largely regression fixes:&lt;/p>
&lt;ul>
&lt;li>Animation: Move Skeleton3D init process (for dirty flags) into &lt;code class="language-plaintext highlighter-rouge">POST_ENTER_TREE&lt;/code> from &lt;code class="language-plaintext highlighter-rouge">ENTER_TREE&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110145">GH-110145&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Bump version to 4.5-rc (&lt;a href="https://github.com/godotengine/godot/pull/110285">GH-110285&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Fix Wayland build with OpenGL disabled (&lt;a href="https://github.com/godotengine/godot/pull/110294">GH-110294&lt;/a>).&lt;/li>
&lt;li>C#: Fix the issue preventing installing C# binaries on Android devices with api &amp;lt;= 29 (&lt;a href="https://github.com/godotengine/godot/pull/110260">GH-110260&lt;/a>).&lt;/li>
&lt;li>C#: Require &lt;code class="language-plaintext highlighter-rouge">net9.0&lt;/code> for Android exports (&lt;a href="https://github.com/godotengine/godot/pull/110263">GH-110263&lt;/a>).&lt;/li>
&lt;li>Core: Fix Resource duplicate calls &lt;code class="language-plaintext highlighter-rouge">ImageTexture::set_image&lt;/code> with an invalid image (&lt;a href="https://github.com/godotengine/godot/pull/110215">GH-110215&lt;/a>).&lt;/li>
&lt;li>Editor: Fix “SpriteFrames” editor not fully hidding the bottom panel (&lt;a href="https://github.com/godotengine/godot/pull/110280">GH-110280&lt;/a>).&lt;/li>
&lt;li>GDExtension: Fix &lt;code class="language-plaintext highlighter-rouge">WindowUtils::copy_and_rename_pdb&lt;/code> regression (&lt;a href="https://github.com/godotengine/godot/pull/110033">GH-110033&lt;/a>).&lt;/li>
&lt;li>Rendering: Metal: Ensure baked Metal binaries can be loaded on the minimum target OS (&lt;a href="https://github.com/godotengine/godot/pull/110264">GH-110264&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>10 contributors&lt;/strong> submitted &lt;strong>9 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5-rc2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the previous 4.5-rc1 snapshot. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5">all changes included in 4.5&lt;/a> compared to the previous 4.4 feature release.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/2dd26a027a99633231184616d4dd287bbdd1c0a3">&lt;code class="language-plaintext highlighter-rouge">2dd26a027&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5-rc2">
Download Godot 4.5 rc2
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-5-rc-2.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc2&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5-rc2">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>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 &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.&lt;/p>
&lt;p>With every release, we accept that there are going to be various issues which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 or full-time developers hired thanks to &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/release-candidate-godot-4-5-rc-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Wed, 10 Sep 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-5-rc-2.webp</image></item><item><title>Release candidate: Godot 4.5 RC 1</title><link>https://godotengine.org/article/release-candidate-godot-4-5-rc-1/</link><summary>Godot 4.5 stable release is imminent; let the last round(s) of testing begin!</summary><description>&lt;p>The final stage of development for Godot 4.5 has arrived: the &lt;a href="https://en.wikipedia.org/wiki/Software_release_life_cycle#Release_candidate">Release Candidate&lt;/a>. This means that all of our planned features are in place and the most critical regressions have been tackled, so were confident that its now ready for production use.&lt;/p>
&lt;p>However, we can never be 100% sure that the release is ready to be published without very extensive testing from the community. So while Godot 4.5 is now ready for testing on existing projects (always make a copy/backup before upgrading, preferably with version control), were eager to hear how it fares and whether any new major issues have gone unnoticed until now.&lt;/p>
&lt;p>While we are confident that we are &lt;em>nearly&lt;/em> ready to release. There will be at least one more RC release after this one containing bug fixes for exporting C# projects to certain, older, Android devices and for shipping baked shaders on iOS devices. We have fixes in the queue already and anticipate merging them promptly and releasing an RC2 early next week. If no major regressions are reported with RC1/RC2, we anticipate releasing 4.5 stable shortly after.&lt;/p>
&lt;p>Please consider &lt;a href="#support">supporting the project financially&lt;/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.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.rc1/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/h9JcJGHfg">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/3064030/Whimside/?curator_clanid=41324400">&lt;strong>Whimside&lt;/strong>&lt;/a>, &lt;em>a creature collector where your pixel art companions keep you company at the bottom of your screen. You can buy the game on &lt;a href="https://store.steampowered.com/app/3064030/Whimside/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/toadzillart.itch.io">Bluesky&lt;/a> or &lt;a href="https://www.youtube.com/@Toadzillart">YouTube&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;p>We covered the most important highlights from Godot 4.5 in the previous &lt;a href="/article/dev-snapshot-godot-4-5-beta-1/">&lt;strong>4.5 beta 1 blog post&lt;/strong>&lt;/a>, so if you havent read that one, have a look to be introduced to the main new features added in the 4.5 release.&lt;/p>
&lt;p>Especially if youre testing 4.5 for the first time, youll want to get a condensed overview of what new features you might want to make use of.&lt;/p>
&lt;p>This section covers the most relevant changes made since the &lt;a href="/article/dev-snapshot-godot-4-5-beta-7/">beta 7 snapshot&lt;/a>, which are largely regression fixes:&lt;/p>
&lt;ul>
&lt;li>Core: Fix regression in mechanism to hold objects while emitting (&lt;a href="https://github.com/godotengine/godot/pull/109770">GH-109770&lt;/a>).&lt;/li>
&lt;li>Core: Make &lt;code class="language-plaintext highlighter-rouge">SceneTree&lt;/code> not crash when receiving a notification without a root being set (&lt;a href="https://github.com/godotengine/godot/pull/110041">GH-110041&lt;/a>).&lt;/li>
&lt;li>Editor: Add single-object inspect command backwards compatible API for potential regression (&lt;a href="https://github.com/godotengine/godot/pull/110043">GH-110043&lt;/a>).&lt;/li>
&lt;li>Editor: Fix Range scale overflow (&lt;a href="https://github.com/godotengine/godot/pull/110107">GH-110107&lt;/a>).&lt;/li>
&lt;li>Export: Fix editor export plugins always causing resources to be edited (&lt;a href="https://github.com/godotengine/godot/pull/110057">GH-110057&lt;/a>).&lt;/li>
&lt;li>GUI: Do not set flags when &lt;code class="language-plaintext highlighter-rouge">PopupMenu::set_visible&lt;/code> is called to hide popup (&lt;a href="https://github.com/godotengine/godot/pull/110049">GH-110049&lt;/a>).&lt;/li>
&lt;li>Input: Fix &lt;code class="language-plaintext highlighter-rouge">Input.get_joy_info()&lt;/code> regression after the SDL input driver PR (&lt;a href="https://github.com/godotengine/godot/pull/108214">GH-108214&lt;/a>).&lt;/li>
&lt;li>Porting: macOS: Process joypad input directly in the embedded process (&lt;a href="https://github.com/godotengine/godot/pull/109603">GH-109603&lt;/a>).&lt;/li>
&lt;li>Rendering: Add GENERAL resource usage to the render graph and fix mutable texture initialization in D3D12 (&lt;a href="https://github.com/godotengine/godot/pull/110204">GH-110204&lt;/a>).&lt;/li>
&lt;li>Rendering: MSDF: Fix outline bleed out at small sizes (&lt;a href="https://github.com/godotengine/godot/pull/110148">GH-110148&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>As weve tightened our policy on what kind of changes can be merged leading to the release candidate stage, there arent a lot of changes in this snapshot. &lt;strong>18 contributors&lt;/strong> submitted &lt;strong>24 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5-rc1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the previous 4.5-beta7 snapshot.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/6c9aa4c7d3b9b91cd50714c40eeb234874df7075">&lt;code class="language-plaintext highlighter-rouge">6c9aa4c7d&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5-rc1">
Download Godot 4.5 rc1
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-5-rc-1.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=rc1&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5-rc1">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>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 &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the RC snapshots.&lt;/p>
&lt;p>With every release, we accept that there are going to be various issues which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 or full-time developers hired thanks to &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/release-candidate-godot-4-5-rc-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Fri, 05 Sep 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-5-rc-1.webp</image></item><item><title>Godot XR update - August 2025</title><link>https://godotengine.org/article/godot-xr-update-aug-2025/</link><summary>Upcoming XR game jam, using the XR editor, new release channels and the new Render Models API</summary><description>&lt;h2 id="godot-xr-community-game-jam">Godot XR Community Game Jam&lt;/h2>
&lt;p>Starting on 8 September 2025 the Godot XR Community is hosting its &lt;a href="https://itch.io/jam/godot-xr-game-jam-sep-2025">fourth Godot XR game jam&lt;/a>.&lt;/p>
&lt;p>Participants have a week to put together a small XR game using the Godot Game Engine. In addition, special consideration will be given to participants using the &lt;a href="https://www.meta.com/experiences/godot-game-engine/7713660705416473/">Godot XR editor&lt;/a> to create their entry!&lt;/p>
&lt;p>This is a great way to try out some XR development and hone your game design skills, as well as provide feedback to help improve the XR editor.&lt;/p>
&lt;p>We invite you to take this opportunity to try out Godot as an XR platform! The XR channel on the &lt;a href="https://discord.gg/godotengine">official Godot Discord&lt;/a> is a great place to get help.&lt;/p>
&lt;h2 id="creating-a-game-entirely-in-the-xr-editor">Creating a game entirely in the XR editor&lt;/h2>
&lt;p>And on the topic of using the XR editor to create an XR game, during the Godot Wild Jam in May, David and Logan challenged themselves to create their entry entirely in VR - without using their PCs at all!&lt;/p>
&lt;p>In this devlog video by Logan, they explain how it went:&lt;/p>
&lt;iframe width="560" height="315" style="width: 100%; height: 100%; aspect-ratio: 16/9;" src="https://www.youtube.com/embed/6RE8KuCspqw" title="Can we make a Godot VR Game... in VR?" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="">&lt;/iframe>
&lt;p>Were they successful? Watch to find out!&lt;/p>
&lt;h2 id="pre-release-channels-on-horizonos">Pre-release channels on HorizonOS&lt;/h2>
&lt;p>To improve development and testing of the XR editor, we have set up &lt;strong>DEV&lt;/strong>, &lt;strong>BETA&lt;/strong>, and &lt;strong>RC&lt;/strong> (release candidate) pre-release channels in the Horizon store to provide the community with pre-release builds of the XR editor.&lt;/p>
&lt;p>Interested users can self-subscribe to the pre-release channels using the following links:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.meta.com/s/3yJ7i8kop">DEV channel&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.meta.com/s/h9JcJGHfg">BETA channel&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.meta.com/s/6Ls6Bfa34">RC channel&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>After joining the pre-release channels, users can change the XR editor active channel by visiting the apps “Settings” page in-headset, or via the “Version” dropdown in the &lt;a href="https://www.meta.com/experiences/godot-game-engine/7713660705416473/">apps store page&lt;/a>.&lt;/p>
&lt;h2 id="render-models-support-coming-in-godot-45">Render models support coming in Godot 4.5&lt;/h2>
&lt;p>Render models is a new API added to OpenXR 1.1.49 that provides access to various 3D assets accessible in the runtime.&lt;/p>
&lt;p>Its main focus is to provide accurate render models for the physical controllers the player is using and accurately placing those in the virtual world. These models come with metadata and tracking data that result in full animation of these assets. Thus they react properly to button presses and other interactions the player is performing.&lt;/p>
&lt;p>The &lt;a href="https://github.com/godotengine/godot/pull/107388">implementation in Godot&lt;/a> was made possible thanks to the Godot Integration Project that Khronos is currently funding and allowed Godot to implement this logic early. In doing so, runtime implementations could be tested and this provided feedback that allowed this API to be published.&lt;/p>
&lt;ul>
&lt;li>SteamVR added support for this API in their 2.12 release.&lt;/li>
&lt;li>PICO has added support for this API in their 5.14.0 release, currently supporting PICO 4 Ultra devices.&lt;/li>
&lt;li>Other vendors are expected to provide support in the near future.&lt;/li>
&lt;/ul>
&lt;iframe width="560" height="995" style="width: 100%; height: 100%; aspect-ratio: 9/16;" src="https://www.youtube.com/embed/DfOW6tj0Pk4" title="Godot OpenXR Render Models demo" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="">&lt;/iframe></description><category>Progress Report</category><guid>https://godotengine.org/article/godot-xr-update-aug-2025/</guid><dc:creator>Bastiaan Olij</dc:creator><pubDate>Tue, 02 Sep 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/august-2025-update-godot-xr-community.webp</image></item><item><title>Dev snapshot: Godot 4.5 beta 7</title><link>https://godotengine.org/article/dev-snapshot-godot-4-5-beta-7/</link><summary>Two more for the road!</summary><description>&lt;p>While we initially anticipated our next snapshot to begin release candidate phase, we left open the possibility of another beta pass if any significant blockers persisted. And while the overwhelming majority have since been handled, this extra pass is to ensure debug symbols are supported for Android platforms. While this was always something that could be done when building from source, a long-term goal is official access to debug symbols, making this something we want to get right out of the gate.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.beta7/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/h9JcJGHfg">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/2702170/Strange_Jigsaws/?curator_clanid=41324400">&lt;strong>Strange Jigsaws&lt;/strong>&lt;/a>, a game of strange jigsaws! You can buy the game on &lt;a href="https://store.steampowered.com/app/2702170/Strange_Jigsaws/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://www.youtube.com/@FLEBpuzzles">YouTube&lt;/a> or &lt;a href="https://bsky.app/profile/flebpuzzles.bsky.social">Bluesky&lt;/a>.&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;p>For an overview of whats new overall in Godot 4.5, have a look at the highlights for &lt;a href="/article/dev-snapshot-godot-4-5-beta-1/">4.5 beta 1&lt;/a>, which cover a lot of the changes. This blog post only covers the changes between beta 6 and beta 7. This section covers the most relevant changes made since the beta 6 snapshot, which are largely regression fixes:&lt;/p>
&lt;ul>
&lt;li>3D: Create an undo/redo action when pinning a SoftBody3D point in the editor (&lt;a href="https://github.com/godotengine/godot/pull/109828">GH-109828&lt;/a>).&lt;/li>
&lt;li>Audio: Web: Fix &lt;code class="language-plaintext highlighter-rouge">AudioStreamPlayer.get_playback_position()&lt;/code> returning incorrect values for samples (&lt;a href="https://github.com/godotengine/godot/pull/109790">GH-109790&lt;/a>).&lt;/li>
&lt;li>Core: Revert “Prevent crashing if &lt;code class="language-plaintext highlighter-rouge">max_threads&lt;/code> is zero.” (&lt;a href="https://github.com/godotengine/godot/pull/110003">GH-110003&lt;/a>).&lt;/li>
&lt;li>Documentation: Document ClassDB not storing information on user-defined classes (&lt;a href="https://github.com/godotengine/godot/pull/109747">GH-109747&lt;/a>).&lt;/li>
&lt;li>Editor: Allow extending previously-non-abstract scripts that became abstract (&lt;a href="https://github.com/godotengine/godot/pull/109903">GH-109903&lt;/a>).&lt;/li>
&lt;li>Editor: Dont start editor as unsaved (&lt;a href="https://github.com/godotengine/godot/pull/109825">GH-109825&lt;/a>).&lt;/li>
&lt;li>Input: Revert “[Web] Disregard touch events in pointer callbacks” (&lt;a href="https://github.com/godotengine/godot/pull/109936">GH-109936&lt;/a>).&lt;/li>
&lt;li>Porting: Android: Fix safe area regression on older Android versions (&lt;a href="https://github.com/godotengine/godot/pull/109818">GH-109818&lt;/a>).&lt;/li>
&lt;li>Rendering: Treat missing variants as normal cache misses during shader cache lookup (&lt;a href="https://github.com/godotengine/godot/pull/109882">GH-109882&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>29 contributors&lt;/strong> submitted &lt;strong>47 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5-beta7">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the previous 4.5-beta6 snapshot.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/4ebf67c12dcdffcb69242569c118a371a654b6ae">&lt;code class="language-plaintext highlighter-rouge">4ebf67c12&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5-beta7">
Download Godot 4.5 beta7
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-5-beta-7.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta7&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5-beta7">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>During the beta stage, we focus on solving both regressions (i.e. something that worked in a previous release is now broken) and significant new bugs introduced by new features. You can have a look at our current &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the beta snapshots.&lt;/p>
&lt;p>With every release, we accept that there are going to be various issues which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 or full-time developers hired thanks to &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/dev-snapshot-godot-4-5-beta-7/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Fri, 29 Aug 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-5-beta-7.webp</image></item><item><title>Dev snapshot: Godot 4.5 beta 6</title><link>https://godotengine.org/article/dev-snapshot-godot-4-5-beta-6/</link><summary>One more for the road!</summary><description>&lt;p>Its been a long journey, but were at the tail-end of 4.5s beta cycle at last; thank you to everyone who contributed during this stage! As such, you can expect this to be our final beta release for 4.5 (probably), with release candidates just around the corner. Should this indeed be our final beta snapshot, all further changes will be &lt;em>strictly&lt;/em> regression fixes; the content available here will be largely reflective of the 4.5 release. As always, users are strongly encouraged to test this snapshot to catch the remaining few release blockers.&lt;/p>
&lt;p>&lt;a href="#downloads">Jump to the &lt;strong>Downloads&lt;/strong> section&lt;/a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the &lt;a href="https://editor.godotengine.org/releases/4.5.beta6/">&lt;strong>Web editor&lt;/strong>&lt;/a>, the &lt;a href="https://www.meta.com/s/h9JcJGHfg">&lt;strong>XR editor&lt;/strong>&lt;/a>, or the &lt;a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4">&lt;strong>Android editor&lt;/strong>&lt;/a> for this release. If you are interested in the latter, please request to join &lt;a href="https://groups.google.com/g/godot-testers">our testing group&lt;/a> to get access to pre-release builds.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/2471970/Planetary_Life/?curator_clanid=41324400">&lt;strong>Planetary Life&lt;/strong>&lt;/a>, an evolution simulator where you guide custom creations from single-celled organisms to a modern civilization! You can buy the early-access title on &lt;a href="https://store.steampowered.com/app/2471970/Planetary_Life/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://www.youtube.com/@sotenbox">YouTube&lt;/a> or &lt;a href="https://twitter.com/sotenbox">Twitter&lt;/a>.&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;p>For an overview of whats new overall in Godot 4.5, have a look at the highlights for &lt;a href="/article/dev-snapshot-godot-4-5-beta-1/">4.5 beta 1&lt;/a>, which cover a lot of the changes. This blog post only covers the changes between beta 5 and beta 6. This section covers the most relevant changes made since the beta 5 snapshot, which are largely regression fixes:&lt;/p>
&lt;h3 id="rename-svgtexture-to-dpitexture-mark-as-experimental">Rename &lt;code class="language-plaintext highlighter-rouge">SVGTexture&lt;/code> to &lt;code class="language-plaintext highlighter-rouge">DPITexture&lt;/code>, mark as “experimental”&lt;/h3>
&lt;p>We generally dont highlight reversions/renames in these blogposts, but this is a major exception that warrants added context. The original intent of &lt;code class="language-plaintext highlighter-rouge">SVGTexture&lt;/code> was to handle icons that respect the font oversampling in the editor. Thats literally it.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-5-beta-6/dpi-compare.webp" alt="DPI Compare" />&lt;/p>
&lt;p>This is part of the reason we never gave the feature its own dedicated section, beyond a bullet-point in its introductory blog. However, the reception to what shouldve been a fringe feature was far larger than we intended. Many users, understandably, took the feature to mean full-blown support for &lt;a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash-like&lt;/a> graphics and realtime rasterization. The name and description ended up overselling our niche utility as a general-purpose solution; one which it was woefully underequipped to handle. Despite the original author, &lt;a href="https://github.com/bruvzg">bruvzg&lt;/a>, making excellent strides towards refining and expanding functionality, it was ultimately akin to applying a bandage on a broken leg. Turning this implementation into something general purpose would be beyond the scope of &lt;strong>4.6&lt;/strong>, let alone 4.5! The rebranding and experimental designation are our ninth-inning resolution.&lt;/p>
&lt;p>This feature has a limited use-case, and will not be extended beyond that.&lt;/p>
&lt;p>&lt;em>Having said that&lt;/em>: this is &lt;strong>not&lt;/strong> us saying “no” to the prospect of realtime support for SVG/rasterized visuals. On the contrary: thats exactly why were making this designation in the first place! The support for this functionality is very obvious, but it needs to be done right. So while that might be out-of-scope for 4.5, its not out-of-scope for Godot.&lt;/p>
&lt;p>(&lt;a href="https://github.com/godotengine/godot/pull/109811">GH-109811&lt;/a>, &lt;a href="https://github.com/godotengine/godot/pull/109805">GH-109805&lt;/a>)&lt;/p>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;ul>
&lt;li>Export: Android: Revert the removal of the &lt;code class="language-plaintext highlighter-rouge">gradle_build/compress_native_libraries&lt;/code> export option (&lt;a href="https://github.com/godotengine/godot/pull/107681">GH-107681&lt;/a>).&lt;/li>
&lt;li>GDScript: Autocompletion: Dont call const functions (&lt;a href="https://github.com/godotengine/godot/pull/109297">GH-109297&lt;/a>).&lt;/li>
&lt;li>XR: Add &lt;code class="language-plaintext highlighter-rouge">CameraServer&lt;/code> &lt;code class="language-plaintext highlighter-rouge">feeds_updated&lt;/code> signal, and document async behavior (&lt;a href="https://github.com/godotengine/godot/pull/108165">GH-108165&lt;/a>).&lt;/li>
&lt;li>GUI: Use MSDF instead of MTSDF for font rendering (&lt;a href="https://github.com/godotengine/godot/pull/109437">GH-109437&lt;/a>).&lt;/li>
&lt;li>Input: Add methods to check which event first triggered “just pressed/released” state (&lt;a href="https://github.com/godotengine/godot/pull/109540">GH-109540&lt;/a>).&lt;/li>
&lt;li>Shaders: Improve shader overloaded function error reporting (&lt;a href="https://github.com/godotengine/godot/pull/109548">GH-109548&lt;/a>).&lt;/li>
&lt;li>Documentation: Update &lt;code class="language-plaintext highlighter-rouge">_physics_process&lt;/code> and &lt;code class="language-plaintext highlighter-rouge">_process&lt;/code> docs to reflect implementation (&lt;a href="https://github.com/godotengine/godot/pull/109320">GH-109320&lt;/a>).&lt;/li>
&lt;li>Editor: Fix snapping logic in Range (&lt;a href="https://github.com/godotengine/godot/pull/109100">GH-109100&lt;/a>).&lt;/li>
&lt;li>Documentation: Document &lt;code class="language-plaintext highlighter-rouge">Tree.item_collapsed&lt;/code> also being emitted when the item is expanded (&lt;a href="https://github.com/godotengine/godot/pull/109242">GH-109242&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix material removal clearing all instances of shared texture arrays (&lt;a href="https://github.com/godotengine/godot/pull/109644">GH-109644&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>55 contributors&lt;/strong> submitted &lt;strong>111 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5-beta6">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the previous 4.5-beta5 snapshot.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/d5ad0556a2c04c50694b5c04dc1b3bf03ecd7113">&lt;code class="language-plaintext highlighter-rouge">d5ad0556a&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="downloads">Downloads&lt;/h2>
&lt;div class="card card-download">
&lt;a class="card-download-link" href="/download/archive/4.5-beta6">
Download Godot 4.5 beta6
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-5-beta-6.webp" />
&lt;div class="card-download-platforms">
&lt;div class="download-platform platform-linux">
&lt;img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" class="lightbox-ignore" />
Linux
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=linux.x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary platform-linux">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=mono_linux_x86_64.zip&amp;amp;platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-macos">
&lt;img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" class="lightbox-ignore" />
macOS
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary platform-macos">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=mono_macos.universal.zip&amp;amp;platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;div class="download-platform platform-windows">
&lt;img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" class="lightbox-ignore" />
Windows
&lt;/div>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=win64.exe.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary platform-windows">
&lt;div class="download-title">
Standard
&lt;/div>
&lt;/a>
&lt;a href="https://downloads.godotengine.org/?version=4.5&amp;amp;flavor=beta6&amp;amp;slug=mono_win64.zip&amp;amp;platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows">
&lt;div class="download-title">
.NET
&lt;/div>
&lt;/a>
&lt;/div>
&lt;/div>
&lt;div class="card-download-sublinks">
&lt;a class="card-download-other" href="/download/archive/4.5-beta6">
Export templates and other downloads
&lt;/a>
&lt;a class="card-download-donate" href="https://fund.godotengine.org/">
Make a Donation
&lt;/a>
&lt;/div>
&lt;/div>
&lt;style>
.thankyou-wrapper {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 10;
}
.thankyou {
background: var(--base-color);
box-shadow: var(--more-shadow);
padding: 30px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
border-radius: 13px;
}
.thankyou-reading {
font-size: 16px;
}
.thankyou-reading-list {
font-size: 16px;
margin: 0;
margin-left: 48px;
padding-left: 0;
}
.thankyou-donate {
margin-bottom: 24px;
text-align: center;
}
.btn.btn-donate {
background-color: var(--primary-color);
color: hsla(0, 0%, 100%, 0.9);
font-size: 22px;
font-weight: 600;
margin-bottom: 26px;
}
.thankyou h2 {
text-shadow: var(--base-shadow);
font-size: 36px;
font-weight: 800;
margin-bottom: 12px;
}
.thankyou h2 .anchored-link {
/* Hiding the anchored text automatically added on blogposts */
display: none !important;
}
.thankyou p {
max-width: 620px;
font-size: 25px;
}
@media (max-width: 768px) {
.thankyou-wrapper {
display: block;
}
.thankyou {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: scroll;
padding: 30px 40px 18px 40px;
}
.thankyou-reading-list {
margin-left: 24px;
}
.btn-close-thankyou-popup {
width: 48px;
height: 48px;
display: flex;
justify-content: center;
align-items: center;
}
}
.btn-close-thankyou-popup {
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
}
.btn-close-thankyou-popup img {
background: transparent !important; /* for overwriting the style in the blogposts img */
}
@media (prefers-color-scheme: light) {
.btn-close-thankyou-popup img {
filter: invert(1);
opacity: 0.75;
}
}
&lt;/style>
&lt;script>
document.addEventListener('DOMContentLoaded', () => {
const thankYouWrapper = document.getElementById('thank-you');
// Close itself, when clicked outside of the popup area.
thankYouWrapper.addEventListener('click', (e) => {
if (e.target === thankYouWrapper) {
thankYouWrapper.style.display = 'none';
}
});
// Close with a close button.
const thankYouBackButton = document.querySelector('.btn-close-thankyou-popup');
thankYouBackButton.addEventListener('click', () => {
thankYouWrapper.style.display = 'none';
});
// Open from the main download buttons.
const downloadButtons = document.querySelectorAll('.btn-download, .download-button');
downloadButtons.forEach((it) => {
if (it.dataset?.external === "yes") {
return;
}
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
document.querySelector('.btn.btn-donate').focus();
});
});
// Open from the all downloads list.
const downloadLinks = document.querySelectorAll('.download-link');
downloadLinks.forEach((it) => {
it.addEventListener('click', () => {
thankYouWrapper.style.display = '';
});
});
// Close the dialog when the user presses the escape key.
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
thankYouWrapper.style.display = 'none';
}
});
});
&lt;/script>
&lt;div class="thankyou-wrapper" id="thank-you" style="display: none;">
&lt;div class="thankyou">
&lt;h2>Godot is downloading...&lt;/h2>
&lt;p class="thankyou-donate">
Godot exists thanks to donations from people like you. Help us continue our work:
&lt;/p>
&lt;a href="https://fund.godotengine.org" class="btn btn-donate">
Make a Donation
&lt;/a>
&lt;div class="btn-close-thankyou-popup">
&lt;img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup" class="lightbox-ignore" />
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Standard build&lt;/strong> includes support for GDScript and GDExtension.&lt;/p>
&lt;p>&lt;strong>.NET build&lt;/strong> (marked as &lt;code class="language-plaintext highlighter-rouge">mono&lt;/code>) includes support for C#, as well as GDScript and GDExtension.&lt;/p>
&lt;div class="card card-warning">
&lt;p>
While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition &lt;strong>a pre-release piece of software&lt;/strong>. 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.
&lt;/p>
&lt;/div>
&lt;h2 id="known-issues">Known issues&lt;/h2>
&lt;p>During the beta stage, we focus on solving both regressions (i.e. something that worked in a previous release is now broken) and significant new bugs introduced by new features. You can have a look at our current &lt;a href="https://github.com/orgs/godotengine/projects/61">list of regressions and significant issues&lt;/a> which we aim to address before releasing 4.5. This list is dynamic and will be updated if we discover new showstopping issues after more users start testing the beta snapshots.&lt;/p>
&lt;p>With every release, we accept that there are going to be various issues which have already been reported but havent been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;h2 id="bug-reports">Bug reports&lt;/h2>
&lt;p>As a tester, we encourage you to &lt;a href="https://github.com/godotengine/godot/issues">open bug reports&lt;/a> if you experience issues with this release. Please check the &lt;a href="https://github.com/godotengine/godot/issues">existing issues on GitHub&lt;/a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.&lt;/p>
&lt;p>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).&lt;/p>
&lt;h2 id="support">Support&lt;/h2>
&lt;p>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 or full-time developers hired thanks to &lt;a href="https://fund.godotengine.org/">generous donations from the Godot community&lt;/a>. A big thank you to everyone who has contributed &lt;a href="https://github.com/godotengine/godot/blob/master/AUTHORS.md">their time&lt;/a> or &lt;a href="https://github.com/godotengine/godot/blob/master/DONORS.md">their financial support&lt;/a> to the project!&lt;/p>
&lt;p>If youd like to support the project financially and help us secure our future hires, you can do so using the &lt;a href="https://fund.godotengine.org/">Godot Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation/">Godot Foundation&lt;/a>. There are also several &lt;a href="/donate">alternative ways to donate&lt;/a> which you may find more suitable.&lt;/p></description><category>Pre-release</category><guid>https://godotengine.org/article/dev-snapshot-godot-4-5-beta-6/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Thu, 21 Aug 2025 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-5-beta-6.webp</image></item></channel></rss>