<?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>Dev snapshot: Godot 4.7 dev 5</title><link>https://godotengine.org/article/dev-snapshot-godot-4-7-dev-5/</link><summary>Freeze, Feature!</summary><description>&lt;p>As is tradition at this point: feature freeze arrived, and so too did countless last-minute pull requests from contributors. So despite the previous development snapshot releasing just one week ago, there’s no shortage of brand-new goodies ready to be experienced firsthand!&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.7.dev5/">&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/4018950/Lost_Wiki_Kozlovka/?curator_clanid=41324400">&lt;strong>Lost Wiki: Kozlovka&lt;/strong>&lt;/a>, &lt;em>a detective game where you explore a Wikipedia-esque database to solve a small-town mystery in 90s Eastern Europe. You can buy the game on &lt;a href="https://store.steampowered.com/app/4018950/Lost_Wiki_Kozlovka/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/yattytheman.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.youtube.com/@yattytheman">YouTube&lt;/a>, or &lt;a href="https://yattytheman.itch.io/">itch.io&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="assetlib-port-asset-store-to-new-api">Assetlib: Port asset store to new API&lt;/h3>
&lt;p>Did you know we have an overhaul to our asset store in the works? Well… Now you do! &lt;a href="https://github.com/YeldhamDev">Michael Alexsander&lt;/a> has been hard at work bringing our current system into this new paradigm, culminating in &lt;a href="https://github.com/godotengine/godot/pull/112992">GH-112992&lt;/a> fully supporting the new API. While we hope to showcase details on this new system in the future, for now we’ll simply highlight the more obvious improvements that this PR delivers.&lt;/p>
&lt;p>Starting with the main selection screen, the way we display our asset items has been polished. Not only will it be easier to parse the asset items themselves, but more metadata and the current rating will be readily visible.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/assetlib-new-api-1.webp" alt="Showcase of the polished asset item display" />&lt;/p>
&lt;p>When accessing an asset in isolation, you’ll have immediate access to the current description and all existing changelogs. What’s more, the ability to change an asset’s version is now just one click away.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/assetlib-new-api-2.webp" alt="Showcase of an asset item in isolation" />&lt;/p>
&lt;h3 id="editor-rework-export-template-dialog-to-allow-individual-templates">Editor: Rework export template dialog to allow individual templates&lt;/h3>
&lt;p>A long-standing pain point for anyone that’s worked with export templates has been that they must be downloaded in bulk. This was in contrast to how our editor downloads were always isolated, causing the export templates to incur long download times for a range of platforms that aren’t necessarily relevant to a developer’s intended export targets.&lt;/p>
&lt;p>This could be solved in two main ways: overhauling our existing distribution system to make the packages available in isolation, or somehow repurposing the existing bulk distribution to only distribute a subset of options.&lt;/p>
&lt;p>Despite how absurd it sounded, &lt;a href="https://github.com/KoBeWi">Tomasz Chabora&lt;/a> managed to implement the latter! &lt;a href="https://github.com/godotengine/godot/pull/117072">GH-117072&lt;/a> managed the seemingly-impossible task of hijacking the bulk package and retrieving slices of the developer’s choosing. This is all achieved within the Godot editor itself, making the process as seamless and expedient as possible for users.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Showcase of the improved export template">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-5/export-template-showcase.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="gui-enable-scaling-images-relative-to-font-size-in-richtextlabel">GUI: Enable scaling images relative to font size in &lt;code class="language-plaintext highlighter-rouge">RichTextLabel&lt;/code>&lt;/h3>
&lt;p>&lt;a href="https://github.com/Meorge">Malcolm Anderson&lt;/a> brings new life to &lt;code class="language-plaintext highlighter-rouge">[img]&lt;/code> tags in &lt;code class="language-plaintext highlighter-rouge">RichTextLabel&lt;/code> with &lt;a href="https://github.com/godotengine/godot/pull/112617">GH-112617&lt;/a>. Now &lt;code class="language-plaintext highlighter-rouge">width&lt;/code> and &lt;code class="language-plaintext highlighter-rouge">height&lt;/code> can specify &lt;a href="https://en.wikipedia.org/wiki/Em_(typography)">&lt;code class="language-plaintext highlighter-rouge">em&lt;/code>&lt;/a> for their scaling. This would result in the following text…&lt;/p>
&lt;div class="language-plaintext highlighter-rouge">&lt;div class="highlight">&lt;pre class="highlight">&lt;code>Do you have any [img height=1em]coin.png[/img] coins?
...I said, [font_size=50]DO YOU HAVE ANY [img height=1em]coin.png[/img] COINS??[/font_size]
&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
&lt;p>…displaying like this:&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/richtextlabel-relative-scale.webp" alt="Showcase of the new `em` scaling for `RichTextLabel`" />&lt;/p>
&lt;h3 id="shaders-implement-inline-text-shader-previews">Shaders: Implement inline text shader previews&lt;/h3>
&lt;p>A long-awaited quality-of-life addition to the text shader editor comes courtesy of &lt;a href="https://github.com/Chaosus">Yuri Rubinsky&lt;/a>, with his PR &lt;a href="https://github.com/godotengine/godot/pull/117726">GH-117726&lt;/a> bringing inline previews. This is a C++ implementation of &lt;a href="https://github.com/cashew-olddew/godot-shader-previewer">Godot Shader Previewer&lt;/a>, a popular addon written in GDScript by &lt;a href="https://github.com/cashew-olddew">Cashew OldDew&lt;/a>. Much like the addon before it, this aims to reduce the amount of guesswork when constucting text shaders, as now one can readily see the resulting effects within the text editor itself:&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/shader-inline-preview-1.webp" alt="Showcase of the text shader inline preview on a simple selection" />&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/shader-inline-preview-2.webp" alt="Showcase of the text shader inline preview on a more specialized selection" />&lt;/p>
&lt;h3 id="rendering-add-rectangular-area-light-source">Rendering: Add rectangular area light source&lt;/h3>
&lt;p>Rendering has received a lot of love in these snapshots, and we’re ending things off strong with &lt;a href="https://github.com/CookieBadger">Emil Dobetsberger&lt;/a>’s work in &lt;a href="https://github.com/godotengine/godot/pull/108219">GH-108219&lt;/a> delivering rectangular area light sources. By leveraging the new &lt;code class="language-plaintext highlighter-rouge">AreaLight3D&lt;/code>, it’s now possible to render real-time light from a rectangle in 3D space.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/rectangular-area-light-scource-1.webp" alt="Showcase of rectangular light sources 1" />&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/rectangular-area-light-scource-2.webp" alt="Showcase of rectangular light sources 2" />&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-5/rectangular-area-light-scource-3.webp" alt="Showcase of rectangular light sources 3" />&lt;/p>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but here’s a curated selection:&lt;/p>
&lt;ul>
&lt;li>3D: Add vertex snap support for subgizmo points (&lt;a href="https://github.com/godotengine/godot/pull/117922">GH-117922&lt;/a>).&lt;/li>
&lt;li>Audio: Revamp audio bus UI (&lt;a href="https://github.com/godotengine/godot/pull/118266">GH-118266&lt;/a>).&lt;/li>
&lt;li>Editor: Allow moving and resizing the embedded game window on Android (&lt;a href="https://github.com/godotengine/godot/pull/118417">GH-118417&lt;/a>).&lt;/li>
&lt;li>Editor: Improve Remote/Local SceneTreeDock buttons’ appearance (&lt;a href="https://github.com/godotengine/godot/pull/118192">GH-118192&lt;/a>).&lt;/li>
&lt;li>Export: Android: Add export options to customize splash screen (&lt;a href="https://github.com/godotengine/godot/pull/114671">GH-114671&lt;/a>).&lt;/li>
&lt;li>GDExtension: Add &lt;code class="language-plaintext highlighter-rouge">Variant::get_type_by_name&lt;/code> to GDExtension Interface (&lt;a href="https://github.com/godotengine/godot/pull/117160">GH-117160&lt;/a>).&lt;/li>
&lt;li>Input: Wayland: Implement touch support (&lt;a href="https://github.com/godotengine/godot/pull/113886">GH-113886&lt;/a>).&lt;/li>
&lt;li>Platforms: Change embedded window options to use three stacked dots and add HDR info (&lt;a href="https://github.com/godotengine/godot/pull/118079">GH-118079&lt;/a>).&lt;/li>
&lt;li>Rendering: Refactor raytracing pipelines (&lt;a href="https://github.com/godotengine/godot/pull/118044">GH-118044&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>71 contributors&lt;/strong> submitted &lt;strong>135 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7-dev5">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/dev-snapshot-godot-4-7-dev-4/">4.7-dev4&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7">all changes included in 4.7&lt;/a> compared to the previous &lt;a href="/releases/4.6/">4.6 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/a8643700ce8affae9fed0d2688b9f7867f5b7d4e">&lt;code class="language-plaintext highlighter-rouge">a8643700c&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.7-dev5">
Download Godot 4.7 dev5
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-7-dev-5.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.7&amp;amp;flavor=dev5&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.7&amp;amp;flavor=dev5&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.7&amp;amp;flavor=dev5&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.7&amp;amp;flavor=dev5&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.7&amp;amp;flavor=dev5&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.7&amp;amp;flavor=dev5&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.7-dev5">
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>With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;p>There are currently no known issues introduced by this release.&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 in 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 you’d 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 the &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-7-dev-5/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Fri, 17 Apr 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-7-dev-5.jpg</image></item><item><title>Godot Mobile update — April 2026</title><link>https://godotengine.org/article/godot-mobile-update-apr-2026/</link><summary>April update from the Godot Mobile Team!</summary><description>&lt;h2 id="major-improvements-ahead">Major improvements ahead!&lt;/h2>
&lt;p>Mobile games represent about half of global game revenue and are the &lt;strong>largest market segment for games&lt;/strong>, ahead of consoles and PC. In terms of user base, that share is even higher. From the &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLScKWGJoLEeNW1qrsDfZRfk7gHultapacH5ZhQmo9XRZADW1IQ/viewanalytics">latest Godot community polls&lt;/a>, about &lt;strong>49%&lt;/strong> of Godot developers target mobile platforms. Mobile is therefore a major outlet for Godot games and apps, and improvements as to how Godot can be used in this area are crucial.&lt;/p>
&lt;p>A great deal of effort has recently been invested by the community and the Godot Foundation into improving Godot’s mobile capabilities, culminating in the &lt;a href="https://godotengine.org/releases/4.6/">&lt;strong>Godot 4.6&lt;/strong>&lt;/a> and &lt;a href="https://godotengine.org/article/maintenance-release-godot-4-5-2/">&lt;strong>Godot 4.5.2&lt;/strong>&lt;/a> releases. Much of the recent “mobile export” work has focused on critical fundamentals: repeatable builds, fewer device-specific surprises, and smoother testing. Below is an overview of some of those efforts.&lt;/p>
&lt;h3 id="1-android-and-ios-ecosystem-plugins">1. Android and iOS ecosystem plugins&lt;/h3>
&lt;p>The mobile game and app ecosystem relies on business models such as in-app purchases and advertising that differ significantly from the premium game model common on PC and consoles. Supporting these models requires the ability to connect apps to &lt;strong>Apple’s and Google’s SDKs&lt;/strong> for store services and player engagement features, as well as to a wide range of third-party services dedicated to mobile gaming.&lt;/p>
&lt;p>The Godot Foundation has decided to begin &lt;strong>improving and maintaining the core plugins&lt;/strong> such as &lt;a href="https://godot-sdk-integrations.github.io/godot-google-play-billing/">Godot Google Play Billing&lt;/a>, &lt;a href="https://github.com/godot-sdk-integrations/godot-play-game-services/blob/main/README.md">Godot Google Play Games Services&lt;/a>, and &lt;a href="https://github.com/godot-sdk-integrations/godot-storekit2/blob/main/README.md">Godot StoreKit 2&lt;/a> to integrate with Apple’s and Google’s SDKs. These plugins are required to handle in-app purchases, achievements, leaderboards, and other features offered by the official stores and player engagement programs of the two main platforms.&lt;/p>
&lt;p>&lt;img alt="Godot plugins flow" src="/storage/blog/godot-mobile/updates/godot-plugins-flow.webp" />&lt;/p>
&lt;p>While third-party plugins may still be needed for additional services, this initiative should enable Godot developers to meet the standard minimum requirements for publishing games and apps, and to reach billions of mobile users worldwide. Improved documentation on exporting and integrating plugins will hopefully improve developers’ experience in this field.&lt;/p>
&lt;p>You can also find other community-maintained plugins under &lt;a href="https://github.com/godot-sdk-integrations">https://github.com/godot-sdk-integrations&lt;/a>.&lt;/p>
&lt;h3 id="2-mobile-gpu-and-rendering-compatibility">2. Mobile GPU and rendering compatibility&lt;/h3>
&lt;p>A major source of mobile stability issues lies in the &lt;strong>wide diversity of GPU drivers in the wild&lt;/strong>, particularly on Android, which spans more than 12,000 different devices. Because crash and latency rates are closely monitored by Apple and Google, and directly affect user reviews and store visibility, keeping these metrics low is essential.&lt;/p>
&lt;p>&lt;img alt="Kamaeru game screenshot" src="/storage/blog/godot-mobile/updates/kamaeru-screenshot.jpg" />&lt;/p>
&lt;p>Thanks to detailed feedback from &lt;a href="https://www.kamaeru.com/">Kamaeru: A Frog Refuge&lt;/a> from &lt;a href="https://humblereeds.fr/">Humble Reeds&lt;/a>, and &lt;a href="https://riftriff.com/">Rift Riff&lt;/a> from Adriaan de Jongh, two Godot games that reported crash data and issues following their launch on mobile stores in December 2025, Godot Foundation contractors were able to fix several problems related to rendering and GPU API usage. These changes included fixing our usage of the Vulkan API as well as identifying workarounds for certain broken GPU drivers. As a result of the fixes, both games saw their crash rates go from &lt;strong>~4%&lt;/strong> to less than &lt;strong>1%&lt;/strong>.&lt;/p>
&lt;h3 id="3-mobile-platforms-stability">3. Mobile platforms stability&lt;/h3>
&lt;p>Additional work to improve the reliability and stability of the mobile platforms, and provide developers with the means to identify, address and / or report crashes were undertaken in the Godot 4.5 and 4.6 development timeline.&lt;/p>
&lt;p>Godot 4.5 saw the &lt;a href="https://docs.godotengine.org/en/stable/tutorials/platform/android/resolving_crashes_on_android.html">addition of native debug symbols for Android&lt;/a>. Native debug symbols for official templates are provided for every Godot release, while instructions are provided for generating equivalent native debug symbols for custom builds. In addition, the documentation was updated to provide detailed instructions for &lt;a href="https://docs.godotengine.org/en/stable/tutorials/platform/android/resolving_crashes_on_android.html#uploading-symbols-to-google-play-console">using them with the Google Play Console&lt;/a>. This improvement was key to address the mobile GPU and rendering compatibility issues described in the previous section.&lt;/p>
&lt;p>&lt;img alt="Godot instrumented tests screenshot" src="/storage/blog/godot-mobile/updates/godot-instrumented-tests-screenshot.png" />&lt;/p>
&lt;p>Support for &lt;a href="https://developer.android.com/training/testing/instrumented-tests">Android instrumented tests&lt;/a> was added in Godot 4.6. This is a valuable tool for engine developers as it provides the ability to continuously, automatically run a series of tests on physical Android devices through services like &lt;a href="https://firebase.google.com/docs/test-lab">Google Firebase Test Lab&lt;/a> in order to validate the stability of the platform and catch any regressions that may slip in. We are aiming to increase the test suite coverage to a significant extent, and run it on a wide range of Android devices in order to pre-emptively catch issues Godot developers may run into. &lt;strong>At the moment though, we are running into the limitations of the Google Firebase Test Lab free tier regarding how many devices we can run the Godot engine test suite against.&lt;/strong> As such we welcome any and all community support and contributions toward addressing that blocker and reaching our goal to run on as many Android devices as possible.&lt;/p>
&lt;p>Support for &lt;a href="https://docs.godotengine.org/en/stable/engine_details/development/profiling/index.html#tracing-profilers">several tracing profilers&lt;/a>, including &lt;a href="https://docs.godotengine.org/en/stable/engine_details/development/profiling/perfetto.html">Perfetto for Android&lt;/a> and &lt;a href="https://docs.godotengine.org/en/stable/engine_details/development/profiling/instruments.html#">Instruments for Apple&lt;/a>, were added to enable engine developers the ability to profile and trace the engine at a system level, opening the path for continuous and more granular improvements to the engine.&lt;/p>
&lt;h3 id="4-mobile-workflows-improvements">4. Mobile workflows improvements&lt;/h3>
&lt;p>Support for mirroring connected Android devices directly from the editor was added in Godot 4.6. This enables developers to interact with their project running on Android devices and allow them to test different screen sizes directly from their workstation, which improves iteration speed when developing and testing against Android devices.&lt;/p>
&lt;p>iOS was not overlooked either, gaining logic that automatically enables export settings designed to reduce the risk of shipping builds that can technically be installed on certain devices but cannot run reliably.&lt;/p>
&lt;h2 id="whats-next">What’s next?&lt;/h2>
&lt;p>The improvements made to Godot’s mobile platforms mark an important step toward making the engine a great choice for mobile games and apps.&lt;/p>
&lt;p>With these efforts on reliability, stability, and real-world production needs, the improvements to the mobile workflow, and the focus toward providing and improving mobile ecosystem plugins, we hope that the experience of shipping games on mobile devices has been improved and we look forward to seeing the great creations to come.&lt;/p>
&lt;p>Looking ahead, this work is far from finished. Mobile platforms continue to evolve, with new hardware, operating system constraints, and store requirements appearing every year. Future efforts will build on the progress made so far, with continued improvements to rendering, performance, testing infrastructure, plugin coverage, and development workflows with the aim of making Godot mobile support as polished as Godot desktop support.&lt;/p>
&lt;hr />
&lt;div style="font-style: italic;">
&lt;p>The cover illustration is from &lt;a href="https://goblinzstudio.com/game/spin-hero/">Spin Hero&lt;/a>, a roguelike deckbuilder where you spin the reels to decide your fate, collect powerful symbols for your inventory, adapt and evolve your strategy, and learn from defeats to unlock new possibilities and synergies. Spin Hero was created by &lt;a href="https://goblinzstudio.com/">Goblinz Studio&lt;/a>, an indie game developer and co-producer from France. You can buy the game on &lt;a href="https://store.steampowered.com/app/2917350/Spin_Hero/">Steam&lt;/a>, &lt;a href="https://www.gog.com/game/spin_hero">GOG&lt;/a>, &lt;a href="https://play.google.com/store/apps/details?id=spherestudios.spinheromobile">Google Play&lt;/a>, and the &lt;a href="https://apps.apple.com/us/app/spin-hero/id6738923299">App Store&lt;/a>, and follow the developers on &lt;a href="https://www.youtube.com/channel/UCDM3ahQ6A7vt9-fsarlOp7g">YouTube&lt;/a> or &lt;a href="https://bsky.app/profile/goblinzstudio.com">Bluesky&lt;/a>.&lt;/p>
&lt;/div></description><category>Progress Report</category><guid>https://godotengine.org/article/godot-mobile-update-apr-2026/</guid><dc:creator>Fredia Huya-Kouadio</dc:creator><pubDate>Sat, 11 Apr 2026 21:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/april-2026-update-godot-mobile.jpg</image></item><item><title>Dev snapshot: Godot 4.7 dev 4</title><link>https://godotengine.org/article/dev-snapshot-godot-4-7-dev-4/</link><summary>Howdy, neighbor!</summary><description>&lt;p>As we edge ever closer to feature freeze, many of our contributors have been hard at work to get their highly-anticipated features in hopes of Godot 4.7 integration. Fortunately for them, we’ve managed to accomodate several of these proposals, and are excited to showcase them today! Your testing will be crucial to ensure that everything listed &lt;em>stays&lt;/em> in scope for a 4.7 release, so be sure to give this latest build a spin after the highlights&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.7.dev4/">&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/2302320/Poke_ALL_Toads/?curator_clanid=41324400">&lt;strong>Poke ALL Toads&lt;/strong>&lt;/a>, &lt;em>a puzzle game starring mischievous fairies on a queat to poke ALL toads. You can buy the game on &lt;a href="https://store.steampowered.com/app/2302320/Poke_ALL_Toads/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/pokealltoads.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.youtube.com/@PokeALLToads">YouTube&lt;/a>, or &lt;a href="https://itch.io/profile/la-fafafa">itch.io&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="rendering-add-nearest-neighbor-scaling">Rendering: Add nearest-neighbor scaling&lt;/h3>
&lt;p>We’re starting things out with one of the most anticipated integrations for our rendering system: nearest-neighbor scaling for 3D viewports. Over the course of nearly three years, &lt;a href="https://github.com/Calinou">Hugo Locurcio&lt;/a> has been refining &lt;a href="https://github.com/godotengine/godot/pull/79731">GH-79731&lt;/a> to ensure that 3D titles with pixel-art aesthetics or lower resolution scaling will still look crisp without any compromise to performance:&lt;/p>
&lt;h4 id="bilinear">Bilinear&lt;/h4>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/rendering-comparison-bilinear.webp" alt="A sample scene with bilinear filtering, results are blurry" />&lt;/p>
&lt;h4 id="nearest-new-behavior">Nearest (new behavior)&lt;/h4>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/rendering-comparison-nearest.webp" alt="A sample scene with nearest-neighbor filtering, results are crisp" />&lt;/p>
&lt;h3 id="gui-add-custom_maximum_size-property-to-control">GUI: Add &lt;code class="language-plaintext highlighter-rouge">custom_maximum_size&lt;/code> property to &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code>&lt;/h3>
&lt;p>Our previous development snapshot had a large focus on GUI improvements, and that QOL continues with the new &lt;code class="language-plaintext highlighter-rouge">custom_maximum_size&lt;/code> property for &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code>. &lt;a href="https://github.com/StarryWorm">Enzo Novoselic&lt;/a> in &lt;a href="https://github.com/godotengine/godot/pull/116640">GH-116640&lt;/a> has at last brought us the maximal equivalent to the existing &lt;code class="language-plaintext highlighter-rouge">custom_minimum_size&lt;/code>, enabling the fine-tuning of GUI element sizes to their full potential.&lt;/p>
&lt;h3 id="gui-improve-drag-and-drop-in-tree">GUI: Improve drag and drop in &lt;code class="language-plaintext highlighter-rouge">Tree&lt;/code>&lt;/h3>
&lt;p>&lt;a href="https://github.com/vaner-org">vaner&lt;/a> spear-headed &lt;a href="https://github.com/godotengine/godot/pull/112993">GH-112993&lt;/a> in order to improve the overall usability and intuitiveness of &lt;code class="language-plaintext highlighter-rouge">Tree&lt;/code> drag-and-drop functionality. Now when performing a drag-and-drop operation, there will be an always-present vertical indicator showing the potential parental chain, leveraging a standalone &lt;code class="language-plaintext highlighter-rouge">CanvasItem&lt;/code> to prevent StyleBox occlusion.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Old&lt;/th>
&lt;th>New&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/tree-old.webp" alt="Original drag-and-drop behavior" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/tree-new.webp" alt="Updated drag-and-drop behavior" />&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>What’s more, this operation will now consider the x-position of the cursor while determining a to-be parent when in indent space (leftmost, empty space), whereas item space largely retains current behavior. This implementation mirrors what one would commonly find in vector design software.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Showcase of new x-position logic in indent space of a sample tree">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-4/tree-showcase.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="editor-increase-available-space-for-array-properties">Editor: Increase available space for array properties&lt;/h3>
&lt;p>Have you ever wondered why the inspector takes up so much negative space when working with arrays? Turns out it wasn’t done deliberately; it just so happened to be using the default offset of 0.5! &lt;a href="https://github.com/KoBeWi">Tomasz Chabora&lt;/a> rightfully found this quite silly, and whipped up &lt;a href="https://github.com/godotengine/godot/pull/118008">GH-118008&lt;/a> to rectify this oversight.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Old&lt;/th>
&lt;th>New&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/inspector-array-old.webp" alt="Original inspector array display" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-4/inspector-array-new.webp" alt="Updated inspector array display" />&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but here’s a curated selection:&lt;/p>
&lt;ul>
&lt;li>2D: Rework TileSet editor proxy objects (&lt;a href="https://github.com/godotengine/godot/pull/117574">GH-117574&lt;/a>).&lt;/li>
&lt;li>3D: Add vector components to 3D ruler tool (&lt;a href="https://github.com/godotengine/godot/pull/106785">GH-106785&lt;/a>).&lt;/li>
&lt;li>Editor: Add folding to the Visual Profiler tree (&lt;a href="https://github.com/godotengine/godot/pull/118120">GH-118120&lt;/a>).&lt;/li>
&lt;li>Editor: Add type filters to create dialog (&lt;a href="https://github.com/godotengine/godot/pull/111518">GH-111518&lt;/a>).&lt;/li>
&lt;li>Editor: Hide renderer selector in main editor window and add editor setting (&lt;a href="https://github.com/godotengine/godot/pull/117754">GH-117754&lt;/a>).&lt;/li>
&lt;li>Editor: Make right-clicking on unfocused scene tabs possible (&lt;a href="https://github.com/godotengine/godot/pull/112919">GH-112919&lt;/a>).&lt;/li>
&lt;li>GDExtension: Allow viewing GDExtensions from inside project settings (&lt;a href="https://github.com/godotengine/godot/pull/118063">GH-118063&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Calculate simple string insertions on the server-side (&lt;a href="https://github.com/godotengine/godot/pull/117710">GH-117710&lt;/a>).&lt;/li>
&lt;li>Particles: Fix angular velocity (&lt;a href="https://github.com/godotengine/godot/pull/117861">GH-117861&lt;/a>).
&lt;ul>
&lt;li>&lt;strong>NOTE:&lt;/strong> This is technically compatibility-breaking, but it’s bringing the functionality in-line with how its always been documented.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Particles: Fix particles moving when timescale is 0 (&lt;a href="https://github.com/godotengine/godot/pull/109911">GH-109911&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Allow implementing java interfaces from GDScript (&lt;a href="https://github.com/godotengine/godot/pull/115498">GH-115498&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Implement OneCore TTS support using C++/WinRT (no deps) (&lt;a href="https://github.com/godotengine/godot/pull/116349">GH-116349&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Use OneCore/WinRT emoji picker when available (&lt;a href="https://github.com/godotengine/godot/pull/116351">GH-116351&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>88 contributors&lt;/strong> submitted &lt;strong>188 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7-dev4">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/dev-snapshot-godot-4-7-dev-3/">4.7-dev3&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7">all changes included in 4.7&lt;/a> compared to the previous &lt;a href="/releases/4.6/">4.6 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/755fa449c4aa94fdf2c58e2b726fd62efde07e09">&lt;code class="language-plaintext highlighter-rouge">755fa449c&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.7-dev4">
Download Godot 4.7 dev4
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-7-dev-4.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.7&amp;amp;flavor=dev4&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.7&amp;amp;flavor=dev4&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.7&amp;amp;flavor=dev4&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.7&amp;amp;flavor=dev4&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.7&amp;amp;flavor=dev4&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.7&amp;amp;flavor=dev4&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.7-dev4">
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>With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;p>There are currently no known issues introduced by this release.&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 in 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 you’d 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 the &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-7-dev-4/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Thu, 09 Apr 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-7-dev-4.jpg</image></item><item><title>Godot Showcase – Xogot: Godot for iPad &amp; iPhone</title><link>https://godotengine.org/article/godot-showcase-xogot/</link><summary>Miguel de Icaza from Xibbon shares his experience working on Xogot for iOS.</summary><description>&lt;style>
.xogot-screenshot-container {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin: 1em;
margin-top: 0;
&amp; > .lightbox {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
&amp; > img,
&amp; > .lightbox > img {
max-width: 450px;
max-height: 450px;
aspect-ratio: auto;
margin: 0;
}
}
.xogot-float-left {
float: left;
margin-left: 0;
}
.xogot-float-right {
float: right;
margin-right: 0;
}
@media screen and (width &lt; 800px), (900px &lt; width &lt; 1000px) {
.xogot-float-left,
.xogot-float-right {
float: none;
margin-left: unset;
margin-right: unset;
}
}
h1, h2, h3, h4, h5, h6 {
float: clear;
}
ul, ol {
overflow: hidden;
}
&lt;/style>
&lt;p>We’re happy to showcase a project that released last year, but was long in the making. The folks at Xibbon have been working hard to port the Godot Engine to the iOS platforms. Not only did they port the editor to make it run on iOS, they successfully interfaced the editor with a custom iOS interface in order to make the engine match Apple strict UI and UX guidelines. Using their app on the iPad and iPhone feels totally native, &lt;em>because it is&lt;/em>!&lt;/p>
&lt;p>Xibbon has been active in our community, in terms of code contributions and events. Xibbon has been our sponsor at events, such as the first &lt;a href="/article/godotcon-us-2025-wrapup/">GodotCon in the US&lt;/a>!&lt;/p>
&lt;p>Today, &lt;a href="https://en.wikipedia.org/wiki/Miguel_de_Icaza">Miguel de Icaza&lt;/a>, known for starting the &lt;a href="https://www.gnome.org/">GNOME&lt;/a>, &lt;a href="https://www.mono-project.com/">Mono&lt;/a>, and &lt;a href="https://en.wikipedia.org/wiki/Xamarin">Xamarin&lt;/a> projects, is sharing with us his experience developing his iOS app.&lt;/p>
&lt;hr />
&lt;h2 id="can-you-tell-us-a-little-bit-about-your-project">Can you tell us a little bit about your project?&lt;/h2>
&lt;div class="xogot-screenshot-container xogot-float-right">
&lt;img src="/assets/showcase/screenshots/xogot-1.webp" alt="Screenshot of Xogot running on an iPad." />
&lt;/div>
&lt;p>Xogot brings the Godot Editor to the iPad and the iPhone as a native iOS application.&lt;/p>
&lt;p>Xogot uses the Godot Editor and the Godot Engine, but we provide an alternative user interface and shell that is built on top of Apple’s native user interface elements. We tuned the user experience to be both touch friendly and to work with the more limited screen space on these devices.&lt;/p>
&lt;p>By being a new user interface on top of the existing Godot Editor, we remain compatible with the desktop Godot and users can move seamlessly between the platforms, but we also wanted to make a product that truly belonged on the iPad, not merely running the desktop experience on the iPad.&lt;/p>
&lt;p>While I am an engineer, the joy that I derive from using creative apps on the iPad is unmatched.&lt;/p>
&lt;p>Interacting with the world with our fingers is one of the earliest skills that we acquire as babies - and I find the physical feedback of using touch user interfaces to be very rewarding. Not only do I spend hours playing with my iPad, I also love watching creators use their iPads for sketching, drawing, modeling, composing, editing videos, and building games.&lt;/p>
&lt;h2 id="why-did-you-want-to-build-xogot">Why did you want to build Xogot?&lt;/h2>
&lt;p>Xogot is very much a labor of love, the result of a perfect storm of conditions and a way of expanding our own horizons and getting out of our comfort zone.&lt;/p>
&lt;p>We have worked on the mobile world for almost fourteen years, and built developer tools for helping .NET developers target mobile platforms. Mostly building IDEs and tools and supporting others on their adventures to bring software to users (among those, funding the early effort to bring .NET to Godot).&lt;/p>
&lt;p>We wanted to get out of our comfort zone, and build an end-user product that followed the ethos of iOS developers that obsess over highly polished apps. Products that obsess over the details of the user experience and strive to create delightful user interfaces.&lt;/p>
&lt;p>For almost sixteen years we have helped folks in the game industry adopt .NET for game development, and we supported various games, engines, and hardware vendors with their efforts to bring our compilers and tools to their systems. Just like we were inspired by the iOS community, we are inspired by the game developer community - people pouring their hearts out exploring ways of entertaining and surprising us, and we wanted to get closer to this joyful world.&lt;/p>
&lt;p>Lastly, we all witnessed a major turning point in the game-engine industry when Unity’s leadership made decisions that shook developer trust across the community. We watched as the industry rushed to find alternatives - and being emotionally invested already in Godot, we were very much in the camp “How can we give the Godot community an edge?”.&lt;/p>
&lt;h2 id="what-was-challenging-about-bringing-the-godot-editor-to-the-ipad-and-iphone">What was challenging about bringing the Godot Editor to the iPad and iPhone?&lt;/h2>
&lt;div class="xogot-screenshot-container xogot-float-left">
&lt;img src="/assets/showcase/screenshots/xogot-3.webp" alt="Screenshot of Xogot running on an iPhone." />
&lt;/div>
&lt;p>This is the poster child of a slippery slope, or an extreme case of Yak Shaving.&lt;/p>
&lt;p>There are three buckets of challenges:&lt;/p>
&lt;ul>
&lt;li>Multi-process&lt;/li>
&lt;li>User experience&lt;/li>
&lt;li>Embedding&lt;/li>
&lt;/ul>
&lt;p>At first, we figured “How hard could it be to get Godot on the iPad?” and it turned out that running Godot on iPad was quite simple, but comes with some strings attached. The first thing you have to deal with is that the Godot workflow uses three processes: the home screen that creates new fresh Godot Editors on demand, the Godot Editor itself, and every time you press “play”, a new and fresh instance of Godot.&lt;/p>
&lt;p>The challenge is that iPadOS does not really support the above model where you get a fresh new process for each step, instead you get a single process and you get to live there. Without being able to launch a new project, Godot would have worked, but would not have been very interesting to people.&lt;/p>
&lt;p>We first experimented with a proof of concept which was to reset the state of Godot to one of a fresh process. That worked, and it allowed us to edit one game, and then edit a second one. We called this the “reset state” effort. That was still not quite useful. The second stage was to make the editor run a child process, and for that what we did was to “virtualize” every single global variable in Godot, so we could run multiple instances simultaneously. That turned out to work great, but it relied on a very manual process of editing a very large chunk of Godot to remove every access to globals and static variables. We later invested in a clang-based rewriter that would take an existing Godot codebase and produce a virtualized Godot on demand. This is what we are based on now.&lt;/p>
&lt;p>With the above system we could open multiple projects, but also start and stop the game under development over and over. So we were now cooking with gas. One last component was not just to launch separate instances of Godot, but having those run side-by-side, which was necessary to implement debugging over a “virtual” process that happened to be running on your same address space.&lt;/p>
&lt;p>We took the limitations of the platform as a fun challenge to solve, and I am incredibly proud of the result.&lt;/p>
&lt;p>That was a very satisfying technical problem to solve, but it did not lend itself to a great iPad experience. Godot is designed for a desktop computer where you have a lot of space, and you can easily aim your mouse at small user interface elements. On the iPad and iPhone, Apple recommends that elements are at least 44 points in size for users to be able to interact with them comfortably. In fact, every time I thought I could get away “just this time” with a smaller user interface, I found out the hard way that neither our users nor myself could tap it. We repeatedly learned that lesson.&lt;/p>
&lt;p>&lt;em>44 points.&lt;/em>&lt;/p>
&lt;p>It is now hanging on a printed piece of paper next to my desk, so I do not forget.&lt;/p>
&lt;p>But even if we resized the controls, the user interface did not feel good on the iPad. Godot was clearly intended to be used with a mouse and a keyboard, so we set out to solve the most problematic areas for our users. Some were mechanical, like “make this button larger” or “display this elsewhere”, but some were more philosophical. In my previous experience with the GNOME desktop, we pursued a path similar to Godot. That is, we tried to deliver a user interface, but whenever there were disagreements about the intended behavior, rather than making an editorial or design decision, we offered a choice. Or three. Or four. Or five, or as many choices as there were opinions.&lt;/p>
&lt;p>Offering choices sounds great on paper, but is terrible in practice. Options can paralyze users, but each option forces you to test two codepaths - and that is if you are lucky, if you have options that interact with other options. Now you have to test combinations of those features, and so on. And then you get to document all these combinations.&lt;/p>
&lt;p>We wanted an application that lived up to the ethos of great iOS applications. We felt that we had to act as editors and make design choices that surfaced the right defaults, and we opted to only surface what we felt was necessary.&lt;/p>
&lt;p>Overall, I think that we did a pretty good job, but every once in a while, our users would complain and make a case for why they really needed an option. So, in those cases, we have brought back a level of configuration or re-surfaced elements that were previously not shown.&lt;/p>
&lt;p>Our design process was documented in our blog, and you can see our process and some of the iterations on the concepts over time.&lt;/p>
&lt;p>We initially thought we would only touch on a couple of pieces, the scene pad, the file pad - and over time we found ourselves rewriting almost all of the user interface in Godot, both because it felt so much better, but also as users struggled with different parts of the UI. This is a process that has been both extensive, but also quite enjoyable - as &lt;a href="https://developer.apple.com/swiftui/">SwiftUI&lt;/a> has made this a delightful exercise.&lt;/p>
&lt;p>At first, we just layered a new UI on top of the Godot Editor, and we customized Godot to show fewer UI elements when running. This served us well for a while, but at some point we found ourselves needing to “host” parts of the Godot UI in SwiftUI views that we controlled, like the bottom bar panels, the plugins that render inside the inspector, as well as having a fallback for custom Godot user interface code - and for that we used a system that allows us to “rehost” parts of the Godot UI - but having this was important to fully take control of the user experience, while ensuring that everything you need to work with Godot was still there.&lt;/p>
&lt;p>Adapting Godot from a desktop application into a pleasant, touch-first, iPad application was a lot of work, and we were convinced there was no more shrinking or adjusting in our future. But even during the beta period before we launched the iPad version, our testers kept asking us for an iPhone version. We were not convinced that this was necessary, but our users kept telling us all the reasons why they would want this - tuning their apps, experimenting on the go, testing an idea during small breaks, adjusting some properties of their game during their bus or train ride or during their lunch breaks.&lt;/p>
&lt;p>But there is a big gap between what people tell you they want and what they are actually going to do, so we remained skeptical for a long time. The first time we reconsidered this was when we heard a presentation from Chad Stewart on using Godot on Android where he shared his real-life experiences doing his work on the go. Then the Godot foundation shared information about usage of Godot on Android, on phones and tablets - and it was then that we grasped that for some folks their phone is their sole computing device. So not only was this possible, for some folks it was a necessity.&lt;/p>
&lt;p>So, delivering the full Godot Editor on iPad and iPhone has meant more than just porting a desktop app. To meet App Store requirements and match Apple users’ expectations, we rebuilt the interface to be truly native and touch-first - something that feels at home on touch devices rather than adapted for it.
Xogot has been a multi-year effort and a significant engineering investment. It’s a commercial product created by a small team deeply passionate about both Godot and Apple platforms. Xogot includes a free tier open to everyone, with the complete version provided at no cost to students and contributors to the Godot open-source project.&lt;/p>
&lt;h2 id="what-are-the-biggest-differences-between-the-xogot-and-the-godot-editor">What are the biggest differences between the Xogot and the Godot Editor?&lt;/h2>
&lt;p>Xogot has two major limitations. First, it can not run third-party plugins authored in native code, or run .NET code. The reason for the former is that Apple’s security system does not allow for third-party dynamic code to be loaded into a process, so all of these plugins fail.&lt;/p>
&lt;p>And the ability to run .NET code is not something we have worked on.&lt;/p>
&lt;h2 id="considering-the-improvements-made-to-adapt-to-the-new-form-factor-are-there-any-plans-on-bringing-xogot-to-other-platforms">Considering the improvements made to adapt to the new form factor, are there any plans on bringing Xogot to other platforms?&lt;/h2>
&lt;div class="xogot-screenshot-container xogot-float-right">
&lt;img src="/assets/showcase/screenshots/xogot-2.webp" alt="By default, when launching the game from the Xogot Editor, the game launches in a split screen." />
&lt;/div>
&lt;p>We want to bring Xogot to the Apple Vision Pro. Anecdotally, just before we decided to embark on bringing Godot to the iPad, we were working on building frameworks and games for the Vision Pro. We were going to our first Boston Unity meeting to learn more about Unity and Vision when the Boston Unity group disbanded in response to Unity’s license changes. It was in this turmoil that we were inspired to jump headlong into the Godot world.&lt;/p>
&lt;p>The idea of building and testing immersive experiences directly inside the headset feels like a natural extension of what we have done so far - creating something with your hands, right in front of you, makes the process feel immediate and physical. But like the iPad effort, there are a number of very interesting problems to solve there before we can ship a product that would meet the expectations of users, so we are going to have to work through those.&lt;/p>
&lt;p>We don’t currently have plans to bring Xogot to non-Apple platforms. Our focus right now is on delivering the best possible experience on iPhone and iPad, and continuing to refine what it means to build games natively on Apple’s devices. So you will see us iterating on the experience and incorporating user feedback until we can score ourselves one of those Apple Design Awards.&lt;/p>
&lt;p>That said, Godot already runs on many platforms, and we see Xogot as part of that larger ecosystem. For now, our aim is to deliver a great experience to game developers on the Apple platforms, and to maintain a high level of compatibility with Godot so that both environments can complement each other.&lt;/p>
&lt;h2 id="were-there-some-improvements-made-in-xogot-that-made-it-upstream">Were there some improvements made in Xogot that made it upstream?&lt;/h2>
&lt;p>Our biggest contribution so far has been the &lt;a href="https://github.com/godotengine/godot/pull/110863">LibGodot&lt;/a> effort, which is a major investment we’ve been funding with the development work led by &lt;a href="https://migeran.com/">Migeran&lt;/a>. LibGodot makes it possible to embed Godot inside modern applications, and Migeran is now in the process of getting it upstreamed so it can benefit the broader community.&lt;/p>
&lt;p>We’ve also contributed a number of smaller patches and fixes, and we’re continuing to learn what it takes to shepherd contributions through the review and merge process. Looking ahead, we expect to contribute larger components as well. We already have a few ideas in mind. But as we’re still relatively new to the game development community, we want those contributions to be shaped by what we learn as Xogot and its user base continue to grow.&lt;/p>
&lt;p>I would love to participate more directly in Godot’s workgroups and community discussions. Balancing that with running a company and raising three kids can be challenging, but I have enormous respect for the dedication and care of the Godot team. My hope is that over time we can contribute not just code, but also ideas and processes that help strengthen the community.&lt;/p>
&lt;h2 id="whats-next-for-xogot">What’s next for Xogot?&lt;/h2>
&lt;p>We’re especially excited about Xogot Connect, our new open-source Godot add-on that lets developers on Windows, Linux, or macOS easily run and debug their projects on iPhone or iPad without the usual complexity of exporting to iOS, building in Xcode, or managing provisioning profiles.&lt;/p>
&lt;p>Our goal is to keep expanding that bridge between desktop and mobile development. Xogot Connect already makes it simple to configure on-screen controls in your game by enabling the iOS Virtual Controller in Project Settings, and we have a few more ideas like this in the works that bring the mobile-specific affordances we’ve developed for Xogot directly to Godot developers on the desktop and make targeting mobile smoother and more approachable.&lt;/p>
&lt;hr />
&lt;p>I would like to thank Miguel de Icaza for sharing with us the experience of his ride of adapting the Godot Editor specifically for a new platform.&lt;/p>
&lt;p>You can easily find Xogot &lt;a href="https://apps.apple.com/us/app/xogot-godot-for-ipad-iphone/id6469385251">in the App Store&lt;/a> or at &lt;a href="https://xogot.com/">its homepage&lt;/a>.&lt;/p>
&lt;p>Also, don’t forget to check out Xogot Connect in the &lt;a href="https://godotengine.org/asset-library/asset/4472">Godot Asset Library&lt;/a>. (Expect it to be also in the upcoming Asset Store!)&lt;/p></description><category>Showcase</category><guid>https://godotengine.org/article/godot-showcase-xogot/</guid><dc:creator>Adam Scott</dc:creator><pubDate>Sat, 04 Apr 2026 18:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/godot-showcase-xogot.jpg</image></item><item><title>Maintenance release: Godot 4.6.2</title><link>https://godotengine.org/article/maintenance-release-godot-4-6-2/</link><summary>The second 4.6 maintenance release has arrived; no foolin'!</summary><description>&lt;p>While the majority of our team continues to focus on development snapshots for &lt;a href="/article/dev-snapshot-godot-4-7-dev-3/">Godot 4.7&lt;/a>, we still have a commitment to maintenance releases for the latest stable version. Specifically, our &lt;a href="https://docs.godotengine.org/en/latest/about/release_policy.html#release-support-timeline">release support policy&lt;/a> promises active support until the successor’s first patch release, so there’s still room for yet more maintenance releases in the future. As for now, we’d like to thank everyone who took the time to evaluate and ratify our release candidates for Godot 4.6.2.&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/archive/4.6.2-stable/">&lt;strong>Download Godot 4.6.2 now&lt;/strong>&lt;/a> or try the &lt;a href="https://editor.godotengine.org/4.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/4.6.2-stable">
Download Godot 4.6.2 stable
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/maintenance-release-godot-4-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=4.6.2&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.6.2&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.6.2&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.6.2&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.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=4.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/4.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 cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/3609320/Bombun/?curator_clanid=41324400">&lt;strong>Bombun&lt;/strong>&lt;/a>, &lt;em>a wholesome 3D platformer where you guide Bombun, a bomb-throwing bunny, on a mission to defend her floating fortress from a friend-turned-foe. You can buy the game on &lt;a href="https://store.steampowered.com/app/3609320/Bombun/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://bsky.app/profile/kekitopu.bsky.social">Bluesky&lt;/a> or &lt;a href="https://kekitopu.itch.io/">itch.io&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="changes">Changes&lt;/h2>
&lt;p>&lt;strong>61 contributors&lt;/strong> submitted &lt;strong>122 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6.2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the &lt;a href="/article/maintenance-release-godot-4-6-1/">4.6.1-stable release&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>3D: Fix 3D focus selection for subgizmos (&lt;a href="https://github.com/godotengine/godot/pull/116972">GH-116972&lt;/a>).&lt;/li>
&lt;li>3D: Fix DirectionalLight3D property list (&lt;a href="https://github.com/godotengine/godot/pull/117189">GH-117189&lt;/a>).&lt;/li>
&lt;li>Animation: Check &lt;code class="language-plaintext highlighter-rouge">playback_queue&lt;/code> existance after emit &lt;code class="language-plaintext highlighter-rouge">animation_finished&lt;/code> signal (&lt;a href="https://github.com/godotengine/godot/pull/116676">GH-116676&lt;/a>).&lt;/li>
&lt;li>Animation: Deselect bezier keyframes when switching animations (&lt;a href="https://github.com/godotengine/godot/pull/116953">GH-116953&lt;/a>).&lt;/li>
&lt;li>Animation: Fix timeline cursor following mouse during marker selection (&lt;a href="https://github.com/godotengine/godot/pull/117634">GH-117634&lt;/a>).&lt;/li>
&lt;li>Animation: Fix visual shift of animation editor keys during selection (&lt;a href="https://github.com/godotengine/godot/pull/117290">GH-117290&lt;/a>).&lt;/li>
&lt;li>Core: Fix &lt;code class="language-plaintext highlighter-rouge">String::split_&lt;/code> crash on empty string (&lt;a href="https://github.com/godotengine/godot/pull/117353">GH-117353&lt;/a>).&lt;/li>
&lt;li>Core: Fix editable children state when duplicating instantiated nodes (&lt;a href="https://github.com/godotengine/godot/pull/117041">GH-117041&lt;/a>).&lt;/li>
&lt;li>Core: RingBuffer: Fix &lt;code class="language-plaintext highlighter-rouge">T read()&lt;/code> method reading empty buffer (&lt;a href="https://github.com/godotengine/godot/pull/117388">GH-117388&lt;/a>).&lt;/li>
&lt;li>Core: RingBuffer: Fix overreading on methods that take an offset as an argument (&lt;a href="https://github.com/godotengine/godot/pull/117151">GH-117151&lt;/a>).&lt;/li>
&lt;li>Editor: Fix build profile generator creating bogus profiles (&lt;a href="https://github.com/godotengine/godot/pull/115410">GH-115410&lt;/a>).&lt;/li>
&lt;li>Editor: Fix mute button after pausing and stopping (&lt;a href="https://github.com/godotengine/godot/pull/116537">GH-116537&lt;/a>).&lt;/li>
&lt;li>Editor: Fix theme item inspector tooltips for Window subclasses (&lt;a href="https://github.com/godotengine/godot/pull/115245">GH-115245&lt;/a>).&lt;/li>
&lt;li>Editor: Set accessibility name on Tree inline cell editor when editing (&lt;a href="https://github.com/godotengine/godot/pull/117135">GH-117135&lt;/a>).&lt;/li>
&lt;li>Editor: Stop autocomplete from eating words by default (&lt;a href="https://github.com/godotengine/godot/pull/117464">GH-117464&lt;/a>).&lt;/li>
&lt;li>Export: Android Editor: Copy keystore to temp file during export (&lt;a href="https://github.com/godotengine/godot/pull/116161">GH-116161&lt;/a>).&lt;/li>
&lt;li>GDExtension: Add missing &lt;code class="language-plaintext highlighter-rouge">GDVIRTUAL_BIND(_get_supported_extensions)&lt;/code> on &lt;code class="language-plaintext highlighter-rouge">MovieWriter&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117479">GH-117479&lt;/a>).&lt;/li>
&lt;li>GUI: Fix “Custom” anchor preset being ignored if the parent isn’t a &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117488">GH-117488&lt;/a>).&lt;/li>
&lt;li>GUI: Fix RichTextLabel drag selection not working after double-click (&lt;a href="https://github.com/godotengine/godot/pull/117201">GH-117201&lt;/a>).&lt;/li>
&lt;li>GUI: TextEdit: Fix clipping of last character due to right margin rounding (&lt;a href="https://github.com/godotengine/godot/pull/116850">GH-116850&lt;/a>).&lt;/li>
&lt;li>GUI: TextServer: Ignore language of embedded object replacement spans when updating line breaks (&lt;a href="https://github.com/godotengine/godot/pull/116197">GH-116197&lt;/a>).&lt;/li>
&lt;li>Import: Blender attempts should be incremented to avoid endless loop (&lt;a href="https://github.com/godotengine/godot/pull/116589">GH-116589&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Make MoveKinematic more accurate when rotating a body by a very small angle (&lt;a href="https://github.com/godotengine/godot/pull/115327">GH-115327&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Rework how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions (&lt;a href="https://github.com/godotengine/godot/pull/115305">GH-115305&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Swapping vertices of triangle if it is scaled inside out (&lt;a href="https://github.com/godotengine/godot/pull/115089">GH-115089&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Fix FileAccess crash when using treeUri in Gradle-built apps (&lt;a href="https://github.com/godotengine/godot/pull/117131">GH-117131&lt;/a>).&lt;/li>
&lt;li>Platforms: Fix macOS Steam time tracking lost when opening a project (&lt;a href="https://github.com/godotengine/godot/pull/117335">GH-117335&lt;/a>).&lt;/li>
&lt;li>Platforms: iOS: Add UIScene lifecycle events (&lt;a href="https://github.com/godotengine/godot/pull/116395">GH-116395&lt;/a>).&lt;/li>
&lt;li>Platforms: iOS: Propagate VC UI preferences to SwiftUI hosting controller (&lt;a href="https://github.com/godotengine/godot/pull/116633">GH-116633&lt;/a>).&lt;/li>
&lt;li>Platforms: macOS: Enable wake for events if &lt;code class="language-plaintext highlighter-rouge">Magnet&lt;/code> is running (&lt;a href="https://github.com/godotengine/godot/pull/116524">GH-116524&lt;/a>).&lt;/li>
&lt;li>Platforms: Wayland: Improve mapping robustness and synchronization (&lt;a href="https://github.com/godotengine/godot/pull/117385">GH-117385&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Set current driver when ANGLE init fails (&lt;a href="https://github.com/godotengine/godot/pull/117253">GH-117253&lt;/a>).&lt;/li>
&lt;li>Rendering: Apply fixed size properly for mono/stereo rendering (&lt;a href="https://github.com/godotengine/godot/pull/115147">GH-115147&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix accidental write-combined memory reads in canvas renderer (&lt;a href="https://github.com/godotengine/godot/pull/115757">GH-115757&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix Tangent decoding detection when computing vertex skinning (&lt;a href="https://github.com/godotengine/godot/pull/117401">GH-117401&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix viewport debanding not working with spatial scalers (&lt;a href="https://github.com/godotengine/godot/pull/114890">GH-114890&lt;/a>).&lt;/li>
&lt;li>Rendering: macOS: Force ANGLE (GL over Metal) when running in VM (&lt;a href="https://github.com/godotengine/godot/pull/117371">GH-117371&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/001aa128b1cd80dc4e47e823c360bccf45ed6bad">&lt;code class="language-plaintext highlighter-rouge">001aa128b&lt;/code>&lt;/a>.&lt;/p>
&lt;h2 id="known-incompatibilities">Known incompatibilities&lt;/h2>
&lt;p>As of now, there are no known incompatibilities with the previous Godot 4.6.1 release. &lt;strong>We encourage all users to upgrade to 4.6.2.&lt;/strong>&lt;/p>
&lt;p>If you experience any unexpected behavior change in your projects after upgrading to 4.6.2, 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 you’d 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-6-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Wed, 01 Apr 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/maintenance-release-godot-4-6-2.jpg</image></item><item><title>Dev snapshot: Godot 4.7 dev 3</title><link>https://godotengine.org/article/dev-snapshot-godot-4-7-dev-3/</link><summary>A snapshot that will transform the way you design GUIs in Godot.</summary><description>&lt;p>Following hot on the heels of the last snapshot, the third development snapshot for what will become Godot 4.7 is now out! This snapshot comes packed with some long-awaited features, some of which may &lt;em>transform&lt;/em> the way you design GUIs in Godot. As always, we need as much testing as possible to ensure everything can be stabilized.&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.7.dev3/">&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/3495730/Lucid_Blocks/?curator_clanid=41324400">&lt;strong>Lucid Blocks&lt;/strong>&lt;/a>, &lt;em>a game where you explore, build, and survive in a cryptic expanse oozing with dreamlike oddities and esoteric critters. You can buy the game on &lt;a href="https://store.steampowered.com/app/3495730/Lucid_Blocks/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/ericalfaro.dev">Bluesky&lt;/a>, &lt;a href="https://www.youtube.com/channel/UC3zEYHyy2tWcg71AzlD-A1g">YouTube&lt;/a>, or &lt;a href="https://discord.gg/lucidblocks">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="gui-add-transform-offset-to-control-nodes">GUI: Add transform offset to Control nodes&lt;/h3>
&lt;p>One of the most long-awaited features in Godot’s GUI system is to be able to translate, rotate, or scale a Control node without it affecting the rest of the container. This is most notably used for animation purposes, so that buttons can smoothly slide in view or fade away with a scale change.&lt;/p>
&lt;p>However, Godot’s various Container nodes apply the position, rotation, and scale to their children, which means any changes made to the children’s transform is lost when the container is sorted again (which occurs when children are added, removed, or moved in the scene tree). The new transform offset properties implemented by &lt;a href="https://github.com/timoschwarzer">Timo Schwarzer&lt;/a> in &lt;a href="https://github.com/godotengine/godot/pull/87081">GH-87081&lt;/a> aim to address this limitation in a self-contained manner, similar to the &lt;code class="language-plaintext highlighter-rouge">transform&lt;/code> property in &lt;abbr title="Cascading Style Sheets">CSS&lt;/abbr>.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-3/render-transform-properties.webp" alt="Render transform properties in the inspector" />&lt;/p>
&lt;p>You can choose whether the transform offset affects mouse input. By default, transform offset is purely visual, which means there is no risk of buttons losing their hover status after being transformed. Controls with a transform offset applied show their original bounding box with a gray dotted rectangle:&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Gray selection box for Controls with a render transform set">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-3/render-transform-selection-box.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="gui-implement-search-bar-for-popupmenu">GUI: Implement search bar for PopupMenu&lt;/h3>
&lt;p>As a tool that can be used to create complex projects, Godot is no stranger to popups with dozens of options to choose from (if not more). While incremental search can be used to focus the first item that starts with a given letter (by pressing the letter in question), this can be difficult to use as incremental search lacks visible feedback once you perform it.&lt;/p>
&lt;p>To resolve this longstanding usability quirk, &lt;a href="https://github.com/warriormaster12">Alexander Streng&lt;/a> added search bars to PopupMenu in &lt;a href="https://github.com/godotengine/godot/pull/114236">GH-114236&lt;/a>. This is particularly useful for long lists such as animations, skeleton bones, inspector dropdowns for Resource properties, and more. A visible search bar also makes searching more discoverable, which is a win for usability.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Search bar in PopupMenu">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-3/popupmenu-search-bar.webm?1" type="video/webm" />
&lt;/video>
&lt;p>This feature is available in any PopupMenu node, which means it can also be used in projects such as &lt;a href="https://docs.godotengine.org/en/latest/tutorials/ui/creating_applications.html">non-game applications&lt;/a>.&lt;/p>
&lt;h3 id="editor-add-vertex-snapping-to-the-3d-editor">Editor: Add vertex snapping to the 3D editor&lt;/h3>
&lt;p>One of the most keenly awaited features to improve 3D editor usability is finally here! &lt;a href="https://github.com/godotengine/godot/pull/117235">Robert Yevdokimov&lt;/a> implemented vertex snapping in the 3D editor in &lt;a href="https://github.com/godotengine/godot/pull/117235">GH-117235&lt;/a>. This allows you to snap the selection to nearby nodes’ vertices, which is useful for level design and ensuring everything is visually connected to neighboring nodes.&lt;/p>
&lt;p>To use vertex snapping, hold &lt;kbd>B&lt;/kbd> and move the mouse near the selection’s vertices. Once you see a yellow circle, hold the mouse button and move the mouse to the desired location (you can release &lt;kbd>B&lt;/kbd> at this point). The circle becomes green once a vertex to snap to is detected near the mouse cursor. For better depth perception, the yellow/green circle appears with reduced opacity if it’s occluded by another surface.&lt;/p>
&lt;p>Vertex snapping works differently depending on whether the selected node has a mesh-based representation or not. For example, MeshInstance3D and CSG nodes have a mesh-based representation, while other nodes such as Label3D and Marker3D do not. Nodes without a mesh-based representation will teleport to the highlighted vertex when holding &lt;kbd>B&lt;/kbd> and clicking on another node’s vertex. Thanks to the follow-up contribution &lt;a href="https://github.com/godotengine/godot/pull/117380">GH-117380&lt;/a>, you can opt into this behavior for nodes that have a mesh-based representation too.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Vertex snapping in the 3D editor">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-3/editor-3d-vertex-snapping.webm?1" type="video/webm" />
&lt;/video>
&lt;h3 id="editor-use-class-name-instead-of-object-id-in-remote-scene-view">Editor: Use class name instead of Object ID in remote scene view&lt;/h3>
&lt;p>The remote scene tree is very useful to diagnose what’s going on in a running project. However, until now, everything was shown as a bunch of anonymous-looking Object IDs. &lt;a href="https://github.com/jaydensipe">Jayden Sipe&lt;/a> has improved this view by adding class names in &lt;a href="https://github.com/godotengine/godot/pull/115738">GH-115738&lt;/a>, making this tool significantly more useful.&lt;/p>
&lt;h4 id="before">Before&lt;/h4>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-3/editor-class-name-remote-before.webp" alt="Object ID shown in the remote inspector, without class name indication" />&lt;/p>
&lt;h4 id="after">After&lt;/h4>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-3/editor-class-name-remote-after.webp" alt="Class names shown in the remote inspector, with object ID still visible" />&lt;/p>
&lt;h3 id="editor-create-a-proper-editor-for-meshlibrary">Editor: Create a proper editor for &lt;code class="language-plaintext highlighter-rouge">MeshLibrary&lt;/code>&lt;/h3>
&lt;p>GridMap users rejoice! The MeshLibrary resource (which stores tiles that can be used in a GridMap node) can now be edited much more easily, thanks to the work of &lt;a href="https://github.com/YeldhamDev">Michael Alexsander&lt;/a> in &lt;a href="https://github.com/godotengine/godot/pull/117376">GH-117376&lt;/a>.&lt;/p>
&lt;p>This new bottom editor comes with the following features:&lt;/p>
&lt;ul>
&lt;li>Presentation of items in a grid, with search and zooming.&lt;/li>
&lt;li>Editing of individual items in a separate inspector.&lt;/li>
&lt;li>Full undo/redo for all actions.&lt;/li>
&lt;li>Fallback preview to an item’s mesh in case none was specifically set.&lt;/li>
&lt;/ul>
&lt;p>Here’s an example of what it looks like:&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-3/editor-gridmap-meshlibrary-new-editor.webp" alt="New GridMap MeshLibrary editor" />&lt;/p>
&lt;h3 id="android-add-support-for-picture-in-picture">Android: Add support for picture-in-picture&lt;/h3>
&lt;p>Thanks to the work of &lt;a href="https://github.com/m4gr3d">Fredia Huya-Kouadio&lt;/a> in &lt;a href="https://github.com/godotengine/godot/pull/114505">GH-114505&lt;/a>, Godot now has the ability to run a project and move it to a small window pinned to one of the screen corners. This relies on Android’s native support for picture-in-picture (PiP) display. For example, YouTube on Android uses this functionality to show the currently played video in a corner of the screen.&lt;/p>
&lt;p>Note that picture-in-picture does not permit interacting with the application while it is in this mode, so this feature is most useful for applications and games that have sections that don’t require real-time input (idle games, autobattlers, etc.).&lt;/p>
&lt;p>Picture-in-picture functionality can be enabled in two ways:&lt;/p>
&lt;ul>
&lt;li>Explicitly by calling &lt;code class="language-plaintext highlighter-rouge">DisplayServer.pip_mode_enter()&lt;/code>.&lt;/li>
&lt;li>Configured to happen automatically by calling &lt;code class="language-plaintext highlighter-rouge">DisplayServer.pip_mode_set_auto_enter_on_background()&lt;/code>. In this case, the app will automatically go into picture-in-picture mode when the user presses the home button or uses the home gesture on their device.&lt;/li>
&lt;/ul>
&lt;p>As an example, since this ability can be toggled at runtime, you can allow picture-in-picture mode to engage when a cutscene starts and disable it when returning to interactive contents.&lt;/p>
&lt;p>Here’s an example of it in action on the game &lt;em>Rift Riff&lt;/em>, where PiP mode is only enabled during one of the game’s waves:&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Showcase of picture-in-picture functionality on the game Rift Riff">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-3/android-picture-in-picture.webm?1" type="video/webm" />
&lt;/video>
&lt;h3 id="android-enable-orientation-change-in-script-editor">Android: Enable orientation change in Script Editor&lt;/h3>
&lt;p>The improvements for Android don’t stop there. Thanks to the work of &lt;a href="https://github.com/syntaxerror247">Anish Kumar&lt;/a> in &lt;a href="https://github.com/godotengine/godot/pull/117109">GH-117109&lt;/a>, you can now switch to portrait mode while in the script editor on Android devices. This makes it easier to view code while you’re typing on a virtual keyboard. Note that distraction-free mode must be &lt;strong>enabled&lt;/strong> for this to be possible (it can be toggled). This restriction has to be in place, since the side docks take a lot of horizontal space and the script editor in portrait mode wouldn’t be practical with the side docks visible.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Script editor used in portrait mode on Android after enabling distraction-free mode">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-3/android-script-editor-orientation-change.webm?1" type="video/webm" />
&lt;/video>
&lt;h3 id="linuxbsd-support-hdr-output">Linux/*BSD: Support &lt;abbr title="High dynamic range">&lt;a href="https://en.wikipedia.org/wiki/High_dynamic_range">HDR&lt;/a>&lt;/abbr> output&lt;/h3>
&lt;p>Continuing from the previous development snapshots which added support for HDR output on &lt;a href="/article/dev-snapshot-godot-4-7-dev-1/#windows-support-hdr-output">Windows&lt;/a> and &lt;a href="/article/dev-snapshot-godot-4-7-dev-2/#apple-support-hdr-output">Apple&lt;/a> platforms, we have added support for HDR output on Linux when using the Wayland display server (&lt;a href="https://github.com/godotengine/godot/pull/102987">GH-102987&lt;/a>). Kudos to &lt;a href="https://github.com/ArchercatNEO">ArchercatNEO&lt;/a> for their dedication to developing and maintaining the Wayland support alongside the Windows and Apple PRs for more than a year!&lt;/p>
&lt;p>Also of note is that documentation on HDR output is now available. &lt;a href="https://docs.godotengine.org/en/latest/tutorials/rendering/hdr_output.html">Check it out!&lt;/a> A demo project for testing HDR output will follow soon.&lt;/p>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but here’s a curated selection:&lt;/p>
&lt;ul>
&lt;li>3D: Add automatic smoothing for CSG nodes (&lt;a href="https://github.com/godotengine/godot/pull/116749">GH-116749&lt;/a>).&lt;/li>
&lt;li>Animation: Optimize Animation Resource, Library, Mixer, and Player (&lt;a href="https://github.com/godotengine/godot/pull/116394">GH-116394&lt;/a>).&lt;/li>
&lt;li>Animation: Optimize AnimationTree, Improve internals &amp;amp; Editor &amp;amp; &lt;code class="language-plaintext highlighter-rouge">Node::process_thread_group&lt;/code> safety (&lt;a href="https://github.com/godotengine/godot/pull/117277">GH-117277&lt;/a>).&lt;/li>
&lt;li>Core: Improve thread-safety of &lt;code class="language-plaintext highlighter-rouge">Object&lt;/code> signals (&lt;a href="https://github.com/godotengine/godot/pull/117511">GH-117511&lt;/a>).&lt;/li>
&lt;li>Core: Use &lt;code class="language-plaintext highlighter-rouge">TRACY_ON_DEMAND&lt;/code> by default for Tracy integration (&lt;a href="https://github.com/godotengine/godot/pull/117583">GH-117583&lt;/a>).&lt;/li>
&lt;li>Editor: Add &lt;code class="language-plaintext highlighter-rouge">View3DController&lt;/code> for editor 3D view manipulation (&lt;a href="https://github.com/godotengine/godot/pull/115957">GH-115957&lt;/a>).&lt;/li>
&lt;li>Editor: Add 3D vertex snap base setting (Vertex/Origin) (&lt;a href="https://github.com/godotengine/godot/pull/117380">GH-117380&lt;/a>).&lt;/li>
&lt;li>Editor: Depict version discrepancies in Project Manager (&lt;a href="https://github.com/godotengine/godot/pull/111528">GH-111528&lt;/a>).&lt;/li>
&lt;li>Editor: Generate and display documentation for the properties generated by &lt;code class="language-plaintext highlighter-rouge">PropertyListHelper&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/115253">GH-115253&lt;/a>).&lt;/li>
&lt;li>Editor: Reorganize Output dock (&lt;a href="https://github.com/godotengine/godot/pull/112690">GH-112690&lt;/a>).&lt;/li>
&lt;li>Editor: Revamp autoload creation (&lt;a href="https://github.com/godotengine/godot/pull/91124">GH-91124&lt;/a>).&lt;/li>
&lt;li>Editor: Stop autocomplete from eating words by default (&lt;a href="https://github.com/godotengine/godot/pull/117464">GH-117464&lt;/a>).&lt;/li>
&lt;li>Editor: Support folding, groups, and subgroups in remote scene inspector (&lt;a href="https://github.com/godotengine/godot/pull/117357">GH-117357&lt;/a>).&lt;/li>
&lt;li>GUI: Add triple-click paragraph selection to RichTextLabel (&lt;a href="https://github.com/godotengine/godot/pull/116868">GH-116868&lt;/a>).&lt;/li>
&lt;li>Input: Add project setting to ignore joypad events if the app is unfocused (&lt;a href="https://github.com/godotengine/godot/pull/115119">GH-115119&lt;/a>).&lt;/li>
&lt;li>Platforms: Add haptic feedback on long-press right-click in the editor (&lt;a href="https://github.com/godotengine/godot/pull/117198">GH-117198&lt;/a>).&lt;/li>
&lt;li>Platforms: Enable wake for events if Magnet is running (&lt;a href="https://github.com/godotengine/godot/pull/116524">GH-116524&lt;/a>).&lt;/li>
&lt;li>Rendering: Add fast path to Polygon2D (&lt;a href="https://github.com/godotengine/godot/pull/117334">GH-117334&lt;/a>).&lt;/li>
&lt;li>Rendering: Add scale 3D and rotation 3D in particle process (&lt;a href="https://github.com/godotengine/godot/pull/112447">GH-112447&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>113 contributors&lt;/strong> submitted &lt;strong>297 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7-dev3">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/dev-snapshot-godot-4-7-dev-2/">4.7-dev2&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7">all changes included in 4.7&lt;/a> compared to the previous &lt;a href="/releases/4.6/">4.6 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/60fff00a660a2aeb03f88c07fb7baed353bcb72f">&lt;code class="language-plaintext highlighter-rouge">60fff00a6&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.7-dev3">
Download Godot 4.7 dev3
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-7-dev-3.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.7&amp;amp;flavor=dev3&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.7&amp;amp;flavor=dev3&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.7&amp;amp;flavor=dev3&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.7&amp;amp;flavor=dev3&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.7&amp;amp;flavor=dev3&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.7&amp;amp;flavor=dev3&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.7-dev3">
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>With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;p>There are currently no known issues introduced by this release.&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 you’d 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-7-dev-3/</guid><dc:creator>Hugo Locurcio</dc:creator><pubDate>Thu, 26 Mar 2026 17:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-7-dev-3.jpg</image></item><item><title>Release candidate: Godot 4.6.2 RC 2</title><link>https://godotengine.org/article/release-candidate-godot-4-6-2-rc-2/</link><summary>Once more for good measure!</summary><description>&lt;p>Last week, we released 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-6-2-rc-1/">4.6.2&lt;/a>, and have since backported even more critical bugfixes. While we normally only need a single pass for maintenance releases, sometimes enough changes are integrated to warrant a second pass. So, once more for good measure: Godot 4.6.2 RC 2 is ready for general testing!&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.2.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/3599690/Funi_Raccoon_Game/?curator_clanid=41324400">&lt;strong>Funi Raccoon Game&lt;/strong>&lt;/a>, &lt;em>a 3D platformer collectathon, where you play as a raccoon on a quest to fill their newly acquired &lt;abbr title="dumpster">home&lt;/abbr> with an incalculable quantity of knick-knacks. You can buy the recently-released game or try the demo for free on &lt;a href="https://store.steampowered.com/app/3599690/Funi_Raccoon_Game/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers, &lt;a href="https://bsky.app/profile/crayondev.ie">Crayon&lt;/a> and &lt;a href="https://bsky.app/profile/kitworldz.bsky.social">Kit&lt;/a>, on Bluesky.&lt;/em>&lt;/p>
&lt;h2 id="whats-new">What’s new&lt;/h2>
&lt;p>&lt;strong>25 contributors&lt;/strong> submitted &lt;strong>29 improvements&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6.2-rc2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/release-candidate-godot-4-6-2-rc-1/">4.6.2-rc1&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6.2">all changes included in 4.6.2&lt;/a> compared to the previous &lt;a href="/article/maintenance-release-godot-4-6-1/">4.6.1 maintenance release&lt;/a>.&lt;/p>
&lt;p>This section covers all changes made since &lt;a href="/article/release-candidate-godot-4-6-2-rc-1/">4.6.2-rc1&lt;/a>, which are largely regression fixes:&lt;/p>
&lt;ul>
&lt;li>3D: Fix 3D focus selection for subgizmos (&lt;a href="https://github.com/godotengine/godot/pull/116972">GH-116972&lt;/a>).&lt;/li>
&lt;li>3D: Fix DirectionalLight3D property list (&lt;a href="https://github.com/godotengine/godot/pull/117189">GH-117189&lt;/a>).&lt;/li>
&lt;li>Animation: Deselect bezier keyframes when switching animations (&lt;a href="https://github.com/godotengine/godot/pull/116953">GH-116953&lt;/a>).&lt;/li>
&lt;li>Animation: Fix visual shift of animation editor keys during selection (&lt;a href="https://github.com/godotengine/godot/pull/117290">GH-117290&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Add UTF-8 encoding to SVG file open in &lt;code class="language-plaintext highlighter-rouge">platform_builders.py&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117454">GH-117454&lt;/a>).&lt;/li>
&lt;li>Buildsystem: CI: Bump JavaScript actions to Node 24 (&lt;a href="https://github.com/godotengine/godot/pull/117428">GH-117428&lt;/a>).&lt;/li>
&lt;li>Buildsystem: ScrollBar: Fix compilation with &lt;code class="language-plaintext highlighter-rouge">precision=double&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117224">GH-117224&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Update CODEOWNERS (&lt;a href="https://github.com/godotengine/godot/pull/117674">GH-117674&lt;/a>).&lt;/li>
&lt;li>Core: Fix &lt;code class="language-plaintext highlighter-rouge">String::split_&lt;/code> crash on empty string (&lt;a href="https://github.com/godotengine/godot/pull/117353">GH-117353&lt;/a>).&lt;/li>
&lt;li>Core: Fix editable children state when duplicating instantiated nodes (&lt;a href="https://github.com/godotengine/godot/pull/117041">GH-117041&lt;/a>).&lt;/li>
&lt;li>Core: RingBuffer: Fix &lt;code class="language-plaintext highlighter-rouge">T read()&lt;/code> method reading empty buffer (&lt;a href="https://github.com/godotengine/godot/pull/117388">GH-117388&lt;/a>).&lt;/li>
&lt;li>Core: RingBuffer: Fix overreading on methods that take an offset as an argument (&lt;a href="https://github.com/godotengine/godot/pull/117151">GH-117151&lt;/a>).&lt;/li>
&lt;li>Editor: Set accessibility name on Tree inline cell editor when editing (&lt;a href="https://github.com/godotengine/godot/pull/117135">GH-117135&lt;/a>).&lt;/li>
&lt;li>GDExtension: Add missing &lt;code class="language-plaintext highlighter-rouge">GDVIRTUAL_BIND(_get_supported_extensions)&lt;/code> on &lt;code class="language-plaintext highlighter-rouge">MovieWriter&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117479">GH-117479&lt;/a>).&lt;/li>
&lt;li>GUI: Fix “Custom” anchor preset being ignored if the parent isn’t a &lt;code class="language-plaintext highlighter-rouge">Control&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117488">GH-117488&lt;/a>).&lt;/li>
&lt;li>GUI: Fix RichTextLabel drag selection not working after double-click (&lt;a href="https://github.com/godotengine/godot/pull/117201">GH-117201&lt;/a>).&lt;/li>
&lt;li>GUI: TextEdit: Fix clipping of last character due to right margin rounding (&lt;a href="https://github.com/godotengine/godot/pull/116850">GH-116850&lt;/a>).&lt;/li>
&lt;li>Import: Blender attempts should be incremented to avoid endless loop (&lt;a href="https://github.com/godotengine/godot/pull/116589">GH-116589&lt;/a>).&lt;/li>
&lt;li>Platforms: Apple Embedded: Fix static .a/.xcframework library loading in &lt;code class="language-plaintext highlighter-rouge">open_dynamic_library&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117469">GH-117469&lt;/a>).&lt;/li>
&lt;li>Platforms: Fix macOS Steam time tracking lost when opening a project (&lt;a href="https://github.com/godotengine/godot/pull/117335">GH-117335&lt;/a>).&lt;/li>
&lt;li>Platforms: iOS: Propagate VC UI preferences to SwiftUI hosting controller (&lt;a href="https://github.com/godotengine/godot/pull/116633">GH-116633&lt;/a>).&lt;/li>
&lt;li>Platforms: macOS: Enable wake for events if &lt;code class="language-plaintext highlighter-rouge">Magnet&lt;/code> is running (&lt;a href="https://github.com/godotengine/godot/pull/116524">GH-116524&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Set current driver when ANGLE init fails (&lt;a href="https://github.com/godotengine/godot/pull/117253">GH-117253&lt;/a>).&lt;/li>
&lt;li>Plugin: Android: Fix java.util.HashMap handling (&lt;a href="https://github.com/godotengine/godot/pull/114941">GH-114941&lt;/a>).&lt;/li>
&lt;li>Plugin: Fix EditorDock not reopening (&lt;a href="https://github.com/godotengine/godot/pull/117340">GH-117340&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix Tangent decoding detection when computing vertex skinning (&lt;a href="https://github.com/godotengine/godot/pull/117401">GH-117401&lt;/a>).&lt;/li>
&lt;li>Rendering: macOS: Force ANGLE (GL over Metal) when running in VM (&lt;a href="https://github.com/godotengine/godot/pull/117371">GH-117371&lt;/a>).&lt;/li>
&lt;li>Thirdparty: libpng: Update to 1.6.55 (&lt;a href="https://github.com/godotengine/godot/pull/117564">GH-117564&lt;/a>).&lt;/li>
&lt;li>Thirdparty: Update access-kit to 0.21.2 (&lt;a href="https://github.com/godotengine/godot/pull/117433">GH-117433&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/638b2f1e923cfb75cc812c2cc168d81fc09ee493">&lt;code class="language-plaintext highlighter-rouge">638b2f1e9&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.2-rc2">
Download Godot 4.6.2 rc2
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-6-2-rc-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.2&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.6.2&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.6.2&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.6.2&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.6.2&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.6.2&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.6.2-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.6.2. 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 haven’t 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 you’d 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-6-2-rc-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Fri, 20 Mar 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-6-2-rc-2.jpg</image></item><item><title>Maintenance release: Godot 4.5.2</title><link>https://godotengine.org/article/maintenance-release-godot-4-5-2/</link><summary>A significant update for 4.5 users with important rendering bug fixes, especially for mobile and D3D12.</summary><description>&lt;p>While most users have upgraded their projects to &lt;a href="/releases/4.6/">Godot 4.6&lt;/a> by now, some have to stay on the previous 4.5 branch for various reasons, so we do our best to provide them with important fixes.&lt;/p>
&lt;p>Our &lt;a href="https://docs.godotengine.org/en/latest/about/release_policy.html#release-support-timeline">release support policy&lt;/a> is that we support a given stable branch actively until its successor has had its first patch release, which happened a month ago with &lt;a href="https://godotengine.org/article/maintenance-release-godot-4-6-1/">4.6.1&lt;/a>. But 4.5.2 was already in the pipeline with &lt;a href="/article/release-candidate-godot-4-5-2-rc-1">RC1&lt;/a>, I just never got to finalizing it… so it’s time to wrap it up with a stable release!&lt;/p>
&lt;p>&lt;strong>Note:&lt;/strong> Following this maintenance release, the 4.5 branch switches to &lt;a href="https://docs.godotengine.org/en/latest/about/release_policy.html#release-support-timeline">partial support&lt;/a>, and the 4.4 branch is end of life and won’t get new patch releases.&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/archive/4.5.2-stable/">&lt;strong>Download Godot 4.5.2 now&lt;/strong>&lt;/a> or try the &lt;a href="https://editor.godotengine.org/4.5.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/4.5.2-stable">
Download Godot 4.5.2 stable
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/maintenance-release-godot-4-5-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.5.2&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.2&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.2&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.2&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.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=4.5.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/4.5.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 cover illustration is from&lt;/em> &lt;a href="https://spooky.express/">&lt;strong>Spooky Express&lt;/strong>&lt;/a>, &lt;em>a 3D puzzle game which has you in charge of the only rail service willing to transport both humans and undeads in turns, or in other words, the goat, cabbage, and wolf problem in spookyland! Spooky Express was created by the award-winning designers at Draknek &amp;amp; Friends, who recently started using Godot for their new titles. You can buy the game on &lt;a href="https://store.steampowered.com/app/3352310/Spooky_Express/?curator_clanid=41324400">Steam&lt;/a>, &lt;a href="https://draknek.itch.io/spooky-express">itch.io&lt;/a>, &lt;a href="https://apps.apple.com/app/id6738424828">App Store&lt;/a>, and &lt;a href="https://play.google.com/store/apps/details?id=express.spooky">Google Play&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/draknek.bsky.social">Bluesky&lt;/a> or &lt;a href="https://mastodon.gamedev.place/@draknek">Mastodon&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;p>This release backports important fixes on the rendering and platform porting areas, notably:&lt;/p>
&lt;ul>
&lt;li>Thanks to work done by the Android maintainers in Godot 4.5, we’ve been providing debug symbols for the Android export templates, which users can upload to Google Play to symbolicate their crash logs. This has enabled developers of games such as &lt;a href="https://play.google.com/store/apps/details?id=com.adriaandejongh.riftriff">Rift Riff&lt;/a>, &lt;a href="https://play.google.com/store/apps/details?id=com.humblereeds.Kamaeru">Kamaeru&lt;/a>, and &lt;a href="https://play.google.com/store/apps/details?id=express.spooky">Spooky Express&lt;/a> to share detailed stack traces about crashes that some players run into on their games. These developers also assisted the rendering maintainers in debugging the issues, and so &lt;a href="https://github.com/blueskythlikesclouds">Skyth&lt;/a> could write fixes for most issues found, which are available in this release.
&lt;ul>
&lt;li>If you have a game published on Google Play using Vulkan Mobile, &lt;strong>we strongly recommend upgrading to 4.5.2&lt;/strong> or later, as this should resolve a lot of crash reports that your game might have. If using Compatibility, there are also significant crash fixes worth getting.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Still on the rendering side, we’ve backported a number of Direct3D 12 bug fixes and performance improvements, notably to reduce initial shader compilation time and get it closer to what we have with Vulkan. While Godot 4.6 has even more fixes and new features, enabling it to make Direct3D 12 the default driver on Windows, for 4.5.2 it remains opt-in, but these fixes should improve the experience for developers who choose to target this API.&lt;/li>
&lt;li>And finally, again on rendering, iOS exports using Metal (Forward+ or Mobile rendering methods) will now default to restrict support to A12 devices or newer. This means excluding some older iPads which technically support Metal but struggle to run Godot games properly. You can toggle this option in the export preset, as this is just a change of its default state based on your rendering method.&lt;/li>
&lt;/ul>
&lt;h2 id="changes">Changes&lt;/h2>
&lt;p>&lt;strong>107 contributors&lt;/strong> submitted &lt;strong>218 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.5.2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 4.5.1-stable release.&lt;/p>
&lt;ul>
&lt;li>2D: Check for tiles outside texture on TileSet atlas settings changes (&lt;a href="https://github.com/godotengine/godot/pull/112271">GH-112271&lt;/a>).&lt;/li>
&lt;li>3D: Don’t redraw &lt;code class="language-plaintext highlighter-rouge">Sprite3D&lt;/code>/&lt;code class="language-plaintext highlighter-rouge">AnimatedSprite3D&lt;/code> outside the tree (&lt;a href="https://github.com/godotengine/godot/pull/112593">GH-112593&lt;/a>).&lt;/li>
&lt;li>Animation: Separate branching ping-pong time and delta (&lt;a href="https://github.com/godotengine/godot/pull/112047">GH-112047&lt;/a>).&lt;/li>
&lt;li>Audio: Fix AudioStreamPolyphonic to honor &lt;code class="language-plaintext highlighter-rouge">AudioStreamPlayer.pitch_scale&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/110525">GH-110525&lt;/a>).&lt;/li>
&lt;li>Audio: Check if on tree before calling &lt;code class="language-plaintext highlighter-rouge">can_process()&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/114966">GH-114966&lt;/a>).&lt;/li>
&lt;li>C#: Fix dotnet class lookup returning modified names instead of engine names (&lt;a href="https://github.com/godotengine/godot/pull/112023">GH-112023&lt;/a>).&lt;/li>
&lt;li>C#: Ensure .NET editor supports Visual Studio 2026 (&lt;a href="https://github.com/godotengine/godot/pull/112961">GH-112961&lt;/a>).&lt;/li>
&lt;li>Core: Fix &lt;code class="language-plaintext highlighter-rouge">load_threaded_get&lt;/code> returning &lt;code class="language-plaintext highlighter-rouge">null&lt;/code> when used with &lt;code class="language-plaintext highlighter-rouge">CACHE_MODE_IGNORE&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/111387">GH-111387&lt;/a>).&lt;/li>
&lt;li>Core: Improve determinism of UIDs (&lt;a href="https://github.com/godotengine/godot/pull/111858">GH-111858&lt;/a>).&lt;/li>
&lt;li>Core: Fix duplicating node references of custom node type properties (&lt;a href="https://github.com/godotengine/godot/pull/112076">GH-112076&lt;/a>).&lt;/li>
&lt;li>Editor: Visual Shader: Fix nodes’ relative positions changed in a different display scale (&lt;a href="https://github.com/godotengine/godot/pull/97620">GH-97620&lt;/a>).&lt;/li>
&lt;li>Editor: Fix editing resources in the inspector when inside an array or dictionary (&lt;a href="https://github.com/godotengine/godot/pull/106099">GH-106099&lt;/a>).&lt;/li>
&lt;li>Editor: Fix switch to GameView when closing game window (&lt;a href="https://github.com/godotengine/godot/pull/111811">GH-111811&lt;/a>).&lt;/li>
&lt;li>Editor: EditorRun: Load &lt;code class="language-plaintext highlighter-rouge">override.cfg&lt;/code> to get window configuration for embedded mode (&lt;a href="https://github.com/godotengine/godot/pull/111847">GH-111847&lt;/a>).&lt;/li>
&lt;li>Editor: Add donate button to project manager (&lt;a href="https://github.com/godotengine/godot/pull/111969">GH-111969&lt;/a>).&lt;/li>
&lt;li>Editor: Fix file duplication making random UID (&lt;a href="https://github.com/godotengine/godot/pull/112015">GH-112015&lt;/a>).&lt;/li>
&lt;li>Export: Disable shader baker when exporting as dedicated server (&lt;a href="https://github.com/godotengine/godot/pull/112361">GH-112361&lt;/a>).&lt;/li>
&lt;li>Export: iOS: Automatically enable &lt;code class="language-plaintext highlighter-rouge">iphone-ipad-minimum-performance-a12&lt;/code> if project is using Forward+/Mobile renderer (&lt;a href="https://github.com/godotengine/godot/pull/114098">GH-114098&lt;/a>).&lt;/li>
&lt;li>Export: Fix Android export with multiple architectures failing when GDExtension includes native dependencies (&lt;a href="https://github.com/godotengine/godot/pull/114483">GH-114483&lt;/a>).&lt;/li>
&lt;li>GDExtension: iOS: Fix loading of xcframework dynamic libraries (&lt;a href="https://github.com/godotengine/godot/pull/112784">GH-112784&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Fix goto native declaration (&lt;a href="https://github.com/godotengine/godot/pull/111478">GH-111478&lt;/a>).&lt;/li>
&lt;li>GUI: Fix update order for &lt;code class="language-plaintext highlighter-rouge">exclusive&lt;/code> child window (&lt;a href="https://github.com/godotengine/godot/pull/94488">GH-94488&lt;/a>).&lt;/li>
&lt;li>GUI: FoldableContainer: Override has_point to use title rect when folded (&lt;a href="https://github.com/godotengine/godot/pull/110847">GH-110847&lt;/a>).&lt;/li>
&lt;li>GUI: Fix IME input in multiple windows at once (&lt;a href="https://github.com/godotengine/godot/pull/111865">GH-111865&lt;/a>).&lt;/li>
&lt;li>Network: Normalize IP parsing, fix IPv6, tests (&lt;a href="https://github.com/godotengine/godot/pull/114827">GH-114827&lt;/a>).&lt;/li>
&lt;li>Particles: Fix CPUParticle3D not randomizing (&lt;a href="https://github.com/godotengine/godot/pull/112514">GH-112514&lt;/a>).&lt;/li>
&lt;li>Physics: Fix transform updates sometimes being discarded when using Jolt (&lt;a href="https://github.com/godotengine/godot/pull/115364">GH-115364&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Add support for Android XR devices to the Godot XR Editor (&lt;a href="https://github.com/godotengine/godot/pull/112776">GH-112776&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Fix ANRs when shutting down the engine due to the render thread (&lt;a href="https://github.com/godotengine/godot/pull/114207">GH-114207&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Trigger save of the RD pipeline cache on application pause (&lt;a href="https://github.com/godotengine/godot/pull/114463">GH-114463&lt;/a>).&lt;/li>
&lt;li>Platforms: Apple Embedded: Fix static .a/.xcframework library loading in &lt;code class="language-plaintext highlighter-rouge">open_dynamic_library&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/117469">GH-117469&lt;/a>).&lt;/li>
&lt;li>Platforms: macOS: Fix ~500ms hang on transparent OpenGL window creation on macOS 26 (&lt;a href="https://github.com/godotengine/godot/pull/111657">GH-111657&lt;/a>).&lt;/li>
&lt;li>Platforms: macOS: Fix microphone issue (&lt;a href="https://github.com/godotengine/godot/pull/111691">GH-111691&lt;/a>).&lt;/li>
&lt;li>Platforms: macOS: Disable window embedding code in export templates (&lt;a href="https://github.com/godotengine/godot/pull/113966">GH-113966&lt;/a>).&lt;/li>
&lt;li>Platforms: Linux: Add SSE4.2 support runtime check (&lt;a href="https://github.com/godotengine/godot/pull/112279">GH-112279&lt;/a>).&lt;/li>
&lt;li>Platforms: Linux/X11: Fix input delay regression (&lt;a href="https://github.com/godotengine/godot/pull/113537">GH-113537&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Fix EnumDevices stall using IAT hooks (&lt;a href="https://github.com/godotengine/godot/pull/113013">GH-113013&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Set current driver when ANGLE init fails (&lt;a href="https://github.com/godotengine/godot/pull/117253">GH-117253&lt;/a>).&lt;/li>
&lt;li>Rendering: Round values after renormalization when generating mipmaps (&lt;a href="https://github.com/godotengine/godot/pull/111841">GH-111841&lt;/a>).&lt;/li>
&lt;li>Rendering: Use AABB center instead of origin for visibility fade (&lt;a href="https://github.com/godotengine/godot/pull/113486">GH-113486&lt;/a>).&lt;/li>
&lt;li>Rendering: D3D12: Fix not checking for fullscreen clear region correctly (&lt;a href="https://github.com/godotengine/godot/pull/111321">GH-111321&lt;/a>).&lt;/li>
&lt;li>Rendering: D3D12: Fix specialization constant patching (&lt;a href="https://github.com/godotengine/godot/pull/111356">GH-111356&lt;/a>).&lt;/li>
&lt;li>Rendering: D3D12: Greatly reduce shader conversion time &amp;amp; fix spec constant bitmasking (&lt;a href="https://github.com/godotengine/godot/pull/111762">GH-111762&lt;/a>).&lt;/li>
&lt;li>Rendering: OpenGL: Add all PowerVR devices to the transform feedback shader cache ban list (&lt;a href="https://github.com/godotengine/godot/pull/111329">GH-111329&lt;/a>).&lt;/li>
&lt;li>Rendering: OpenGL: Use &lt;code class="language-plaintext highlighter-rouge">GL_FRAMEBUFFER&lt;/code> instead of &lt;code class="language-plaintext highlighter-rouge">GL_DRAW_FRAMEBUFFER&lt;/code> when doing final blit to the screen framebuffer to work around OBS bug (&lt;a href="https://github.com/godotengine/godot/pull/111834">GH-111834&lt;/a>).&lt;/li>
&lt;li>Rendering: Vulkan: Create new pools when they become fragmented (&lt;a href="https://github.com/godotengine/godot/pull/114313">GH-114313&lt;/a>).&lt;/li>
&lt;li>Rendering: Vulkan: Implement workaround for GPU driver crash on Adreno 5XX (&lt;a href="https://github.com/godotengine/godot/pull/114416">GH-114416&lt;/a>).&lt;/li>
&lt;li>Rendering: Vulkan: Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported (&lt;a href="https://github.com/godotengine/godot/pull/114476">GH-114476&lt;/a>).&lt;/li>
&lt;li>Shaders: Fix VisualShader conversion failing with subresources (&lt;a href="https://github.com/godotengine/godot/pull/109375">GH-109375&lt;/a>).&lt;/li>
&lt;li>Thirdparty: libpng: Update to 1.6.55 (&lt;a href="https://github.com/godotengine/godot/pull/117564">GH-117564&lt;/a>).&lt;/li>
&lt;li>Thirdparty: mbedTLS: Update to version 3.6.5 (&lt;a href="https://github.com/godotengine/godot/pull/111845">GH-111845&lt;/a>).&lt;/li>
&lt;li>Thirdparty: pcre2: Update to 10.46 (&lt;a href="https://github.com/godotengine/godot/pull/114766">GH-114766&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.x releases. &lt;strong>We encourage all 4.5 users to upgrade to 4.5.2&lt;/strong> (or newer stable releases).&lt;/p>
&lt;p>If you experience any unexpected behavior change in your projects after upgrading to 4.5.2, 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 you’d 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-2/</guid><dc:creator>Rémi Verschelde</dc:creator><pubDate>Thu, 19 Mar 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/maintenance-release-godot-4-5-2.jpg</image></item><item><title>Godot XR update — March 2026</title><link>https://godotengine.org/article/godot-xr-update-mar-2026/</link><summary>March update from the Godot XR Team, upcoming game jam, new features, and new platforms!</summary><description>&lt;h2 id="godot-xr-game-jam-v">Godot XR Game Jam V&lt;/h2>
&lt;p>We’re having another XR-focused game jam starting March 15/16th (depending on your timezone). The jam runs for a full week, after which voting will remain open for the week after.&lt;/p>
&lt;p>This is always a good chance to get introduced to using XR in Godot, whether you are new to Godot or new to XR.&lt;/p>
&lt;p>We’ll primarily be helping people along on our XR channel on &lt;a href="https://discord.gg/godotengine">the official Godot Discord&lt;/a>.&lt;/p>
&lt;p>Check out the details on &lt;a href="https://itch.io/jam/godot-xr-game-jam-mar-2026">the jam’s itch.io page&lt;/a>.&lt;/p>
&lt;h2 id="openxr-11-support">OpenXR 1.1. support&lt;/h2>
&lt;p>The &lt;a href="https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html">OpenXR 1.1 specification&lt;/a> was released some time ago and adoption of this is now such that most headsets support it.&lt;/p>
&lt;p>OpenXR is the industry standard interface making it possible for Godot to interact with many of the leading XR devices.&lt;/p>
&lt;p>OpenXR 1.1 has promoted various extensions to core such as:&lt;/p>
&lt;ul>
&lt;li>Palm pose is now Grip surface pose and guaranteed to be supported.&lt;/li>
&lt;li>Local floor reference space is guaranteed to be supported.&lt;/li>
&lt;li>Various controller interaction profiles are now part of the core.&lt;/li>
&lt;li>New Meta interaction profiles identifying specific controllers.&lt;/li>
&lt;/ul>
&lt;p>Godot now has logic to initialise OpenXR 1.1 when supported by the headset and fall back to OpenXR 1.0 if not.&lt;/p>
&lt;p>Some of these promotions have resulted in renames of various entries in the action map. For developers, we’ve made this as transparent as possible: you set up your action map for OpenXR 1.1 and Godot will translate it to an OpenXR 1.0 action map.&lt;/p>
&lt;p>Note that this will result in your existing action map being upgraded to OpenXR 1.1 standards, and thus will be incompatible with earlier versions of Godot.&lt;/p>
&lt;p>&lt;em>This work was made possible thanks to funding through the&lt;/em> &lt;a href="https://www.khronos.org/blog/advancing-openxr-development-godot-xr-engine-enhancements">Khronos Godot Integration Project&lt;/a>.&lt;/p>
&lt;h2 id="vulkan-multithreading">Vulkan multithreading&lt;/h2>
&lt;p>Godot has the ability to run rendering in a separate thread allowing for parallel processing of the next frame while the current frame is being produced.&lt;/p>
&lt;p>While we did an initial pass for thread safety in the core logic around OpenXR, the vendor plugin has now undergone the same treatment, as well as improving threading support for a number of new features in the core.&lt;/p>
&lt;p>This potentially provides a decent performance upgrade when running your game on standalone VR hardware.&lt;/p>
&lt;p>&lt;em>This work was made possible thanks to contributions by&lt;/em> &lt;a href="https://www.w4games.com/">W4Games&lt;/a>.&lt;/p>
&lt;h2 id="setup-wizard">Setup wizard&lt;/h2>
&lt;p>&lt;img alt="XR Setup Wizard" src="/storage/blog/godot-xr/updates/xr-setup-wizard.webp" />&lt;/p>
&lt;p>The Godot OpenXR vendor plugin now includes a Project Setup Wizard! This tool is meant to guide users through the configuration of new XR projects, getting them export-ready for standalone headsets faster than ever. With the vendor plugin installed, you can find the XR Project Setup Wizard under the tools section of the project menu. Simply select your target headset vendor and project type, and the wizard will present you with a list of required and recommended settings tailored to your choices, most of which can be applied instantly with the click of a button.&lt;/p>
&lt;p>Without a main scene set for your project, the wizard also provides access to template XR scenes and scripts that handle all the needed logic for starting XR. Be sure to give this tool a try on your next Godot XR project!&lt;/p>
&lt;h2 id="khronos-loader">Khronos loader&lt;/h2>
&lt;p>In Godot 4.6, Godot now embeds the Khronos OpenXR loader into any Android OpenXR game. Godot already did this for other platforms but previously relied on the vendor plugin to embed the loader.&lt;/p>
&lt;p>This change in theory allows you to create a single Android OpenXR APK and deploy it to multiple headsets. This is great news for people participating in game jams or wanting to distribute through stores like &lt;a href="https://itch.io/">itch.io&lt;/a>.&lt;/p>
&lt;p>This works for many of the mainstream headsets. However, a number of runtimes do require additional manifest entries to unlock functionality. Or they can require various vendor extensions for features to be unlocked. We do recommend users keep using the vendor plugin to have access to these things.&lt;/p>
&lt;h2 id="directx-default-on-windows">DirectX default on Windows&lt;/h2>
&lt;p>Godot recently made &lt;a href="https://en.wikipedia.org/wiki/DirectX">DirectX&lt;/a> the default back-end on Windows for new projects. It is important to note here that for XR developers, there are things to consider.&lt;/p>
&lt;p>Godot fully supports DirectX as a backend for OpenXR. However, as all of the standalone headsets only support OpenGL and Vulkan, there are potential differences between using DirectX and the other backends. We are also further along with certain optimizations on the other backends.&lt;/p>
&lt;p>Nothing much changes for developers who are using the Compatibility renderer. If you’re using the Mobile or Forward+ renderers for your XR projects, we recommend using Vulkan also on Windows for the foreseeable future.&lt;/p>
&lt;h2 id="new-platforms">New platforms&lt;/h2>
&lt;p>Godot 4.6 welcomed two new XR platforms into the mix.&lt;/p>
&lt;p>Godot now has official support for AndroidXR. The necessary changes were added to both Godot and the vendor plugin late last year. Together with &lt;a href="https://www.w4games.com/">W4Games&lt;/a>, we are hard at work bringing additional AndroidXR functionality to Godot. As part of this work, we’re also contributing to a few open-source Godot game projects and bringing them to the AndroidXR platform.&lt;/p>
&lt;p>We are also proud to report that Godot runs on the Steam Frame. We have tested all three deployment modes: PCVR over Steam Link, running natively as an Android APK, and running a native Linux ARM64 version.
With thanks to &lt;a href="https://github.com/gramps">GP Garcia&lt;/a>, we can also confirm that the popular &lt;a href="https://godotsteam.com/">GodotSteam&lt;/a> library is working as expected on the platform including a native Linux ARM64 build that is now available.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The illustration picture for this article comes from&lt;/em> &lt;a href="https://www.flammablepenguins.com/augmental_puzzles/index.html">Augmental Puzzles&lt;/a>, &lt;em>an XR game by Flammable Penguins Games, a puzzle game currently focussing on Sudoku with daily challenges. Other puzzle types are in the pipeline. It’s currently available on the Meta Store and Steam.&lt;/em>&lt;/p></description><category>Progress Report</category><guid>https://godotengine.org/article/godot-xr-update-mar-2026/</guid><dc:creator>Bastiaan Olij</dc:creator><pubDate>Mon, 16 Mar 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/march-2026-update-godot-xr-community.jpg</image></item><item><title>Release candidate: Godot 4.6.2 RC 1</title><link>https://godotengine.org/article/release-candidate-godot-4-6-2-rc-1/</link><summary>Maintenance of maintenance? Is such a thing even possible!?</summary><description>&lt;p>It’s been nearly two months since the initial release of &lt;a href="/releases/4.6/">Godot 4.6&lt;/a>, and three weeks since the &lt;a href="/article/maintenance-release-godot-4-6-1/">4.6.1 maintenance release&lt;/a>. In that time, we’ve had a steady chain of development snapshots for 4.7—the latest of which came out &lt;a href="/article/dev-snapshot-godot-4-7-dev-2/">last week&lt;/a>—and the number of resolved issues from bugs/regressions have only increased since then. In fact, we’ve received &lt;em>so&lt;/em> many fixes that we’re preparing for yet another maintenance release: Godot 4.6.2!&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.2.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/2795090/MR_FARMBOY/?curator_clanid=41324400">&lt;strong>MR FARMBOY&lt;/strong>&lt;/a>, &lt;em>a colony/farming simulation game, where you build your dream farm and community by leveraging the power of automation (hired labor). You can buy the recently-released game for sale on &lt;a href="https://store.steampowered.com/app/2795090/MR_FARMBOY/?curator_clanid=41324400">Steam&lt;/a>, and follow the developer on &lt;a href="https://www.twitch.tv/mrdboy">Twitch&lt;/a> and &lt;a href="https://discord.com/invite/434NG4wR5q">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="whats-new">What’s new&lt;/h2>
&lt;p>&lt;strong>43 contributors&lt;/strong> submitted &lt;strong>86 improvements&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6.2-rc1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the 4.6.1-stable release.&lt;/p>
&lt;p>This section covers the most relevant changes made since the &lt;a href="/article/maintenance-release-godot-4-6-1/">4.6.1 maintenance release&lt;/a>, which are largely regression fixes:&lt;/p>
&lt;ul>
&lt;li>Animation: Check &lt;code class="language-plaintext highlighter-rouge">playback_queue&lt;/code> existance after emit &lt;code class="language-plaintext highlighter-rouge">animation_finished&lt;/code> signal (&lt;a href="https://github.com/godotengine/godot/pull/116676">GH-116676&lt;/a>).&lt;/li>
&lt;li>Editor: Fix build profile generator creating bogus profiles (&lt;a href="https://github.com/godotengine/godot/pull/115410">GH-115410&lt;/a>).&lt;/li>
&lt;li>Editor: Fix mute button after pausing and stopping (&lt;a href="https://github.com/godotengine/godot/pull/116537">GH-116537&lt;/a>).&lt;/li>
&lt;li>Export: Android Editor: Copy keystore to temp file during export (&lt;a href="https://github.com/godotengine/godot/pull/116161">GH-116161&lt;/a>).&lt;/li>
&lt;li>GUI: TextServer: Ignore language of embedded object replacement spans when updating line breaks (&lt;a href="https://github.com/godotengine/godot/pull/116197">GH-116197&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Make MoveKinematic more accurate when rotating a body by a very small angle (&lt;a href="https://github.com/godotengine/godot/pull/115327">GH-115327&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Rework how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions (&lt;a href="https://github.com/godotengine/godot/pull/115305">GH-115305&lt;/a>).&lt;/li>
&lt;li>Physics: Jolt Physics: Swapping vertices of triangle if it is scaled inside out (&lt;a href="https://github.com/godotengine/godot/pull/115089">GH-115089&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Fix FileAccess crash when using treeUri in Gradle-built apps (&lt;a href="https://github.com/godotengine/godot/pull/117131">GH-117131&lt;/a>).&lt;/li>
&lt;li>Platforms: iOS: Add UIScene lifecycle events (&lt;a href="https://github.com/godotengine/godot/pull/116395">GH-116395&lt;/a>).&lt;/li>
&lt;li>Rendering: Apply fixed size properly for mono/stereo rendering (&lt;a href="https://github.com/godotengine/godot/pull/115147">GH-115147&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix accidental write-combined memory reads in canvas renderer (&lt;a href="https://github.com/godotengine/godot/pull/115757">GH-115757&lt;/a>).&lt;/li>
&lt;li>Rendering: Fix viewport debanding not working with spatial scalers (&lt;a href="https://github.com/godotengine/godot/pull/114890">GH-114890&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/257ac353291f56ce1857836924a6e0625ab21b75">&lt;code class="language-plaintext highlighter-rouge">257ac3532&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.2-rc1">
Download Godot 4.6.2 rc1
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/release-candidate-godot-4-6-2-rc-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.6.2&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.6.2&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.6.2&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.6.2&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.6.2&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.6.2&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.6.2-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.6.2. 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 haven’t 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;ul>
&lt;li>macOS builds are not signed this release; this will be resolved by the time 4.6.2-stable comes out.&lt;/li>
&lt;/ul>
&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 you’d 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-6-2-rc-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Mon, 09 Mar 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/release-candidate-godot-4-6-2-rc-1.jpg</image></item><item><title>Dev snapshot: Godot 4.7 dev 2</title><link>https://godotengine.org/article/dev-snapshot-godot-4-7-dev-2/</link><summary>Let us cook!</summary><description>&lt;p>As the development cycle leaves the early stages, so too does the comparatively constrained scope of changes. Some changes are so big in fact, that they’re being distributed in small increments, rather than all at once. This is admittedly a bit awkward from a blog post perspective, as not everything is in a position to be showcased just yet, but rapid integration for the sake of early testing will always be a top priority. Besides, there’s still plenty of goodies ready to be shown off in the meantime!&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.7.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/3525970/Horripilant/?curator_clanid=41324400">&lt;strong>Horripilant&lt;/strong>&lt;/a>, &lt;em>an incremental dungeon crawler, where you meet God and subsequently kill God. You can buy the game on &lt;a href="https://store.steampowered.com/app/3525970/Horripilant/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/pasgame.ca">Bluesky&lt;/a>, &lt;a href="https://www.youtube.com/@pasgamestudio">YouTube&lt;/a>, or &lt;a href="https://discord.gg/4eu8jhDXF5">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="editor-add-support-for-copypaste-of-sectioncategory-properties">Editor: Add support for copy/paste of section/category properties&lt;/h3>
&lt;p>&lt;a href="https://github.com/Raftatul">Raphaël Daubelcour&lt;/a> is starting this off with a bang, as their work in &lt;a href="https://github.com/godotengine/godot/pull/111469">GH-111469&lt;/a> brought a highly-requested feature for the editor to light: the ability to copy and paste data from entire sections and categories! Now instead of copying the data from individual segments of a given property and pasting them piece-by-piece, this process is now handled in a singular action.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Showcase of copy/paste functionality on section/category properties">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-2/property-copy-paste.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="editor-use-monospaced-font-for-code-names-in-ui">Editor: Use monospaced font for code names in UI&lt;/h3>
&lt;p>The editor got quite a lot of QOL love this snapshot, as &lt;a href="https://github.com/Meorge">Malcolm Anderson&lt;/a> delivered yet another highly-requested feature in the form of monospaced code names (&lt;a href="https://github.com/godotengine/godot/pull/112219">GH-112219&lt;/a>). You’d be surprised by just how much the readability of the UI improves when code-like data (methods, signals, properties, etc.) is represented in a font representing their context, especially when coupled with a standard font for all other information.&lt;/p>
&lt;p>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-2/monospace-font-connection.webp" alt="Monospaced fonts in connection" />
&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-2/monospace-font-property.webp" alt="Monospaced fonts in property" />
&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-2/monospace-font-signal.webp" alt="Monospaced fonts in connection" />&lt;/p>
&lt;h3 id="animation-collapse-groups-in-animation-track-editor">Animation: Collapse groups in animation track editor&lt;/h3>
&lt;p>Malcolm isn’t done yet, as the animation track editor got some love in &lt;a href="https://github.com/godotengine/godot/pull/113479">GH-113479&lt;/a>, enabling users to collapse groups. This simple change should immediately resonate with users dealing with the absurd sizes animation trees can reach, though the benefits can be felt at all sizes.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Animation track group collapse showcase">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-2/animation-group-collapse.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="apple-support-hdr-output">Apple: Support &lt;abbr title="High dynamic range">&lt;a href="https://en.wikipedia.org/wiki/High_dynamic_range">HDR&lt;/a>&lt;/abbr> output&lt;/h3>
&lt;p>As you might recall from the &lt;a href="/article/dev-snapshot-godot-4-7-dev-1/#windows-support-hdr-output">previous development snapshot&lt;/a>, our intention during the 4.7 cycle is to roll out HDR support across all supported platforms. Windows already got their initial implementation; now, it’s Apple’s turn. &lt;a href="https://github.com/stuartcarnie">Stuart Carnie&lt;/a> delivered full support for &lt;abbr title="Extended Dynamic Range; Apple's technology to display HDR on their devices.">EDR&lt;/abbr> display to all Apple platforms (&lt;a href="https://github.com/godotengine/godot/pull/106814">GH-106814&lt;/a>). Documentation is still in the works for HDR, as there’s quite a lot of ground to cover, but you can expect a proper deep-dive into the concept in the coming weeks!&lt;/p>
&lt;h3 id="input-add-device-ids-to-keyboard-and-mouse-input-events">Input: Add device IDs to keyboard and mouse input events&lt;/h3>
&lt;p>If you’ve used &lt;a href="https://docs.godotengine.org/en/stable/tutorials/inputs/inputevent.html">&lt;code class="language-plaintext highlighter-rouge">InputEvent&lt;/code>s&lt;/a> in your projects and their &lt;a href="https://docs.godotengine.org/en/stable/classes/class_inputevent.html#class-inputevent-property-device">&lt;code class="language-plaintext highlighter-rouge">device&lt;/code> property&lt;/a> directly, you may have noticed that the engine sets the device ID for keyboard and mouse devices to &lt;code class="language-plaintext highlighter-rouge">0&lt;/code>. This conflicts with joypads that may also use this ID. Therefore, the only valid way to check if an &lt;code class="language-plaintext highlighter-rouge">InputEvent&lt;/code> was sent by a keyboard, is to check its type by using &lt;code class="language-plaintext highlighter-rouge">if event is InputEventKey: (your code here)&lt;/code>.&lt;/p>
&lt;p>A &lt;a href="https://github.com/godotengine/godot-proposals/issues/7161">proposal&lt;/a> was made to resolve this issue, and &lt;a href="https://github.com/Nintorch">Nintorch&lt;/a> made a PR for it here: &lt;a href="https://github.com/godotengine/godot/pull/116274">GH-116274&lt;/a>. With this change, users can finally differentiate between joypad, keyboard and mouse events just by checking the &lt;code class="language-plaintext highlighter-rouge">device&lt;/code> property. However, this also means that if your project depends on the previous behavior of keyboard and mouse having an ID of &lt;code class="language-plaintext highlighter-rouge">0&lt;/code>, you will have to modify your project. If you’re not happy with this change, please let us know by making a &lt;a href="https://github.com/godotengine/godot/issues">GitHub issue&lt;/a>. If enough people are not happy with this change, it will have to be reverted.&lt;/p>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but here’s a curated selection:&lt;/p>
&lt;ul>
&lt;li>2D: Add a scene painter tool (&lt;a href="https://github.com/godotengine/godot/pull/109360">GH-109360&lt;/a>).&lt;/li>
&lt;li>3D: Add “Follow Selection” in the 3D editor by using Center Selection twice (&lt;a href="https://github.com/godotengine/godot/pull/99499">GH-99499&lt;/a>).&lt;/li>
&lt;li>Buildsystem: SCons: Enable &lt;code class="language-plaintext highlighter-rouge">wasm64&lt;/code> support on web builds (&lt;a href="https://github.com/godotengine/godot/pull/102378">GH-102378&lt;/a>).&lt;/li>
&lt;li>Editor: Show custom class name in the remote inspector (&lt;a href="https://github.com/godotengine/godot/pull/108208">GH-108208&lt;/a>).&lt;/li>
&lt;li>GUI: Add script editor &lt;code class="language-plaintext highlighter-rouge">join_lines&lt;/code> keybind (&lt;a href="https://github.com/godotengine/godot/pull/111547">GH-111547&lt;/a>).&lt;/li>
&lt;li>GUI: Improve the table in &lt;code class="language-plaintext highlighter-rouge">RichTextLabel&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/116277">GH-116277&lt;/a>).&lt;/li>
&lt;li>GUI: Support tiling &lt;code class="language-plaintext highlighter-rouge">AtlasTexture&lt;/code> in &lt;code class="language-plaintext highlighter-rouge">TextureRect&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/113808">GH-113808&lt;/a>).&lt;/li>
&lt;li>Input: Add support for SDL3 joystick input driver for iOS (&lt;a href="https://github.com/godotengine/godot/pull/114316">GH-114316&lt;/a>).&lt;/li>
&lt;li>Plugin: Android: Add support for plugins gradle platform dependencies (&lt;a href="https://github.com/godotengine/godot/pull/115888">GH-115888&lt;/a>).&lt;/li>
&lt;li>Rendering: Editor additions for MipMaps and rd_textures (&lt;a href="https://github.com/godotengine/godot/pull/109004">GH-109004&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>105 contributors&lt;/strong> submitted &lt;strong>248 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7-dev2">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since &lt;a href="/article/dev-snapshot-godot-4-7-dev-1/">4.7-dev1&lt;/a>. You can also review &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7">all changes included in 4.7&lt;/a> compared to the previous &lt;a href="/releases/4.6/">4.6 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/778cf54dabd8a9e25b698a87036ab8604183f303">&lt;code class="language-plaintext highlighter-rouge">778cf54da&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.7-dev2">
Download Godot 4.7 dev2
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-7-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.7&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.7&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.7&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.7&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.7&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.7&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.7-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;p>With every release we accept that there are going to be various issues, which have already been reported but haven’t been fixed yet. See the GitHub issue tracker for a complete list of &lt;a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs&lt;/a>.&lt;/p>
&lt;p>There are currently no known issues introduced by this release.&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 you’d 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-7-dev-2/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Tue, 03 Mar 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-7-dev-2.jpg</image></item><item><title>Godot Showcase - Buckshot Roulette</title><link>https://godotengine.org/article/godot-showcase-buckshot-roulette/</link><summary>Mike Klubnika tells us about his experience working on Buckshot Roulette.</summary><description>&lt;p>Mike Klubnika tells us about his experience developing the 2024 indie hit &lt;a href="https://store.steampowered.com/app/2835570/Buckshot_Roulette/">Buckshot Roulette&lt;/a>, as well as his newer project, &lt;a href="https://store.steampowered.com/app/3684610/split/">s.p.l.i.t&lt;/a>.&lt;/p>
&lt;p>We are extremely grateful to Mike, our latest Corporate Platinum sponsor of the &lt;a href="https://fund.godotengine.org">Godot Development Fund&lt;/a>. Thanks to his donation, we’ll be able to keep working on the engine for all of you. Like him, if you’d like to support the project financially you can do so using the &lt;a href="https://fund.godotengine.org">Development Fund&lt;/a> platform managed by &lt;a href="https://godot.foundation">Godot Foundation&lt;/a>.&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/JEGxnpGqEaE" frameborder="0" allowfullscreen="" style="width: 100%; aspect-ratio: 16 / 9; height: auto;">&lt;/iframe>
&lt;hr />
&lt;h2 id="how-did-you-get-your-start-in-game-development-and-how-did-it-grow-into-a-full-time-position">How did you get your start in game development? And how did it grow into a full-time position?&lt;/h2>
&lt;p>I started out by learning to do 3D artwork around 2018, so around 3 years before I got into solo game development. Eventually I started getting more and more interested in game development, and decided to work on a small game for 2 months. Once that was released, it basically snowballed from there, and I couldn’t stop thinking about making games.&lt;/p>
&lt;p>By the end of 2023 I had released 16 small games, and had a decent following of both players and content creators. These were all developed between studying or full-time jobs — my biggest inspirations were obscure games with weird visuals, mechanics, and narratives, and there was a lot of freedom working on stuff when I wasn’t relying on them to turn a profit or anything like that. I was already super grateful for my small community. So after selling Buckshot Roulette for a dollar in late 2023, I was absolutely floored when it hit mainstream. Since then I’ve been able to make games full time.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/screenshots/br-1.jpg" alt="" />&lt;/p>
&lt;h2 id="some-people-may-be-familiar-with-your-game-buckshot-roulette-but-could-you-tell-us-a-bit-about-your-newer-project-split">Some people may be familiar with your game Buckshot Roulette, but could you tell us a bit about your newer project s.p.l.i.t.?&lt;/h2>
&lt;p>&lt;a href="https://store.steampowered.com/app/3684610/split/">s.p.l.i.t&lt;/a> is a game I still don’t fully know how to describe. Basically it’s a hacking simulator with “Typing of The Dead” elements, and a bunch of existential horror. After Buckshot Roulette I had a really strong desire to do something more narrative heavy, and so s.p.l.i.t ended up being the perfect project for that.&lt;/p>
&lt;p>For the gameplay side I tried to have somewhat “realistic” hacking, so the terminal is very barebones with no flashy visuals, and the game uses commands that players would hopefully already be familiar with.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godot-showcase-buckshot-roulette/split.webp" alt="" />&lt;/p>
&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>I decided early on that the game would run on a keyboard only, which had some challenges in figuring out a control scheme for navigating different screens, and interacting with the environment. That “Typing of The Dead” type of mechanic ended up working well for that, where the player would have their action thoughts visible in certain parts of the environment, and type them out to go through with the interaction. It also just looked cool — it was fun to frame different thoughts in a cinematic way through the different cutscenes.&lt;/p>
&lt;p>The biggest challenge was having the game be at least somewhat accessible to people who haven’t touched a command line before. Originally the terminal puzzles in the game were designed so that the end goal was clear, but the path there wasn’t. Players ended up being left in the dark, so making the steps to the goal clearer helped a lot. The puzzles ended up in a place where the player would have a pretty clear outline of a goal, and have to translate the steps to fulfill that into terminal commands.&lt;/p>
&lt;p>&lt;img src="/storage/blog/godot-showcase-buckshot-roulette/split-2.jpg" alt="" />&lt;/p>
&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>I originally discovered Godot somewhere around 2022, but opened it up for the first time in late 2023. Before then I had used Unity for around 3 years, but once they announced the runtime fee, I decided to try switching engines. I really liked the fact that Godot was open source, and found it was pretty easy to get into since it shares a lot of similarities to the workflow I had in Unity.&lt;/p>
&lt;h2 id="what-do-you-like-about-godot">What do you like about Godot?&lt;/h2>
&lt;p>It’s very fast, even in bigger projects. My favourite feature has to be the AnimationPlayer, which is very powerful and quick to set up. Coming from C#, I also liked GDscript once I got used to it. I think it’s a very nice programming language.
Generally though I feel like it’s super quick to iterate on features — there’s not a lot of friction in experimenting or tweaking small things.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/screenshots/br-3.jpg" alt="" />&lt;/p>
&lt;h2 id="while-making-your-game-were-there-any-features-that-you-would-have-liked-to-see-in-godot">While making your game, were there any features that you would have liked to see in Godot?&lt;/h2>
&lt;p>It’d be great to be able to see a real-time visualization of the remote scene tree in the editor. Similar to Unity where if you run the game, you can see it running in the editor, navigate around, and tweak variables of objects in real-time.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/screenshots/br-4.jpg" alt="" />&lt;/p>
&lt;h2 id="what-advice-would-you-give-to-aspiring-game-developers-who-are-just-starting-out-in-the-field">What advice would you give to aspiring game developers who are just starting out in the field?&lt;/h2>
&lt;p>I would highly recommend making a bunch of small games — something you can finish in a couple of weeks. The first game is always the trickiest, since you’re doing everything for the first time, but once you go through the process multiple times everything starts to make a lot more sense.&lt;/p>
&lt;p>For solo game development, there are quite a few different hats to wear. What really helped me get into game development were those years learning 3D software before I got into a game engine. Because of that I was comfortable with quite a few things in a game engine already, and the only thing that I had to learn from scratch was programming.&lt;/p>
&lt;p>But generally it all just takes time, best to keep on trucking. For me personally, I only started noticing my progress when I looked back at my earliest games, after just a couple months of making stuff.&lt;/p>
&lt;p>&lt;img src="/assets/showcase/screenshots/br-5.jpg" alt="" />&lt;/p>
&lt;hr />
&lt;p>Thank you very much Mike for taking the time to answer our questions!&lt;/p>
&lt;p>&lt;a href="https://mikeklubnika.com/">Mike Klubnika&lt;/a>’s games including &lt;em>Buckshot Roulette&lt;/em> and &lt;em>s.p.l.i.t&lt;/em> are available on &lt;a href="https://store.steampowered.com/developer/mikeklubnika">Steam&lt;/a>. You can also join his &lt;a href="https://discord.gg/jDGePvU3Z5">Discord server&lt;/a>.&lt;/p></description><category>Showcase</category><guid>https://godotengine.org/article/godot-showcase-buckshot-roulette/</guid><dc:creator>Hugo Locurcio</dc:creator><pubDate>Fri, 27 Feb 2026 18:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/godot-showcase-buckshot-roulette/thumbnail.jpg</image></item><item><title>GodotCon Amsterdam - Save the date!</title><link>https://godotengine.org/article/godotcon-2026/</link><summary>Want to join? Amsterdam 23-24 of April. Get your tickets now! (Call for speakers and sponsors open)</summary><description>&lt;p>The official GodotCon returns to Europe and this time, it will be the first GodotCon in the city where the Godot Foundation calls home. For this edition of the event, we teamed up with the &lt;a href="https://dutchgamesassociation.nl/">Dutch Games Association&lt;/a> to help us organize it and make sure that everything runs smoothly.&lt;/p>
&lt;h3 id="information">Information&lt;/h3>
&lt;table>
&lt;tbody>
&lt;tr>
&lt;td>📅 Dates&lt;/td>
&lt;td>23rd, 24th of April&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>🕑 Time&lt;/td>
&lt;td>10:00 - 18:00&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>🇳🇱 Location&lt;/td>
&lt;td>Amsterdam, The Netherlands&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>📍 Venue&lt;/td>
&lt;td>Pathé Amsterdam Noord. &lt;a href="https://www.google.com/maps/place/Path%C3%A9+Amsterdam+Noord/@52.4006788,4.9343291,898m/data=!3m1!1e3!4m6!3m5!1s0x47c6098c4b35b89f:0x95697d3c0ded012e!8m2!3d52.4007003!4d4.9346766!16s%2Fg%2F11h5qpwf3k?entry=tts&amp;amp;g_ep=EgoyMDI2MDIxMS4wIPu8ASoASAFQAw%3D%3D&amp;amp;skid=ce7b0ad0-aef1-4865-b929-21ec88e61fe0">Buikslotermeerplein 2003, 1025 XL Amsterdam, Netherlands&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>🌐 Website&lt;/td>
&lt;td>&lt;a href="https://conference.godotengine.org/2026/">https://conference.godotengine.org&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;a class="btn" href="https://tickets.godotengine.org/foundation/godotcon-ams-2026/">Buy tickets 🎟️&lt;/a>&lt;/p>
&lt;h3 id="call-for-speakers-and-sponsors">Call for speakers and sponsors&lt;/h3>
&lt;p>If you would like to be a part of the conference by giving a talk or a workshop, please submit your proposals through the link below. We are looking for a diverse range of topics, from beginner to advanced, so don’t hesitate to submit your ideas.&lt;/p>
&lt;p>&lt;a href="https://talks.godotengine.org/godotcon-ams-2026/cfp">&lt;strong>➡️ Call for submissions&lt;/strong>&lt;/a>, Deadline: 30th of March&lt;/p>
&lt;p>We are also actively looking for sponsors to support the GodotCon Amsterdam. If you or your company would be interested in learning more about sponsorship opportunities, feel free to reach out to &lt;a href="mailto:godotcon@godotengine.org">godotcon@godotengine.org&lt;/a>.&lt;/p>
&lt;h3 id="call-for-volunteers">Call for volunteers&lt;/h3>
&lt;p>An event like this only happens thanks to passionate people like you who are willing to help behind the scenes. If you want to contribute to making GodotCon 2026 a welcoming and smooth experience for everyone, we are currently looking for volunteers to help us manage different aspects of the conference, from stage managers to photographers.&lt;/p>
&lt;p>If you would like to participate, please fill out &lt;a href="https://docs.google.com/forms/d/1iW7ng8mHutrhYHyil3vDkcqR1SxRYrELJXqR7nQJMNQ">this form&lt;/a>.&lt;/p>
&lt;h3 id="tickets-and-more">Tickets and more&lt;/h3>
&lt;p>Get your tickets &lt;a href="https://tickets.godotengine.org/foundation/godotcon-ams-2026/">here&lt;/a> and stay tuned for more information by joining the &lt;a href="https://discord.gg/A2YPMR23ye">GodotCon Discord&lt;/a> or the mailing list.&lt;/p>
&lt;form method="post" action="https://godot.news/subscription/form" class="listmonk-form">
&lt;style>@media (min-width: 768px) { input[type="submit"] {border-radius: 0px var(--button-border-radius) var(--button-border-radius) 0;}}&lt;/style>
&lt;div>
&lt;input type="hidden" name="nonce" />
&lt;input type="email" name="email" required="" placeholder="E-mail" style="font-size: 18px;padding: 16px 18px;border: 1px solid var(--base-color);box-shadow: 0 4px 9px -3px #0000002e;background: var(--card-footer-color);color: var(--base-color-text);" />
&lt;p style="display:none;">
&lt;input id="6e6e9" type="checkbox" name="l" checked="" value="6e6e9ba4-732b-4528-b4cd-71bbe6850f8d" />
&lt;label for="6e6e9">Godot Conference&lt;/label>
&lt;/p>
&lt;input type="submit" class="btn" value="Subscribe" style="cursor: pointer;border: inherit;" />
&lt;/div>
&lt;/form>
&lt;h3 id="will-there-still-be-a-godot-event-in-the-us-in-2026">Will there still be a Godot event in the US in 2026?&lt;/h3>
&lt;p>Absolutely! The same team behind the GodotCon Boston will be announcing more details about the event for 2026 in the US. It will come back with a different name, but everything else should be the same.&lt;/p>
&lt;p>See you soon!&lt;/p></description><category>Events</category><guid>https://godotengine.org/article/godotcon-2026/</guid><dc:creator>Emi</dc:creator><pubDate>Wed, 18 Feb 2026 13:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/godotcon-amsterdam-2026.png</image></item><item><title>Maintenance release: Godot 4.6.1</title><link>https://godotengine.org/article/maintenance-release-godot-4-6-1/</link><summary>The first 4.6 maintenance release has arrived!</summary><description>&lt;p>It’s been three weeks since the release of &lt;a href="/releases/4.6/">Godot 4.6&lt;/a>, and we’re blown away by everything the community has already showcased in such a short time. And while Godot 4.7 is already &lt;a href="/article/dev-snapshot-godot-4-7-dev-1/">well underway&lt;/a>, a maintenance release for 4.6 was always set to release soon after. This release, Godot 4.6.1, addresses all the known show-stopping regressions and issues new to the Godot 4.6 release. We’d like to thank everyone who took the time to identify and squash these bugs, allowing for the expedient release of 4.6.1-stable!&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/archive/4.6.1-stable/">&lt;strong>Download Godot 4.6.1 now&lt;/strong>&lt;/a> or try the &lt;a href="https://editor.godotengine.org/4.6.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.6.1-stable">
Download Godot 4.6.1 stable
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/maintenance-release-godot-4-6-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.6.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.6.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.6.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.6.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.6.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.6.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.6.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;p>&lt;strong>Edit 2026-02-16 @ 22:30 UTC:&lt;/strong> The first macOS editor binaries for 4.6.1 had a signing issue (missing entitlements) which broke .NET and GDExtension support. They have been reuploaded with a fixed signature. Please redownload the macOS version if you downloaded it before the time of this edit.&lt;/p>
&lt;hr />
&lt;p>&lt;em>The cover illustration is from&lt;/em> &lt;a href="https://store.steampowered.com/app/3216340/Tearscape/?curator_clanid=41324400">&lt;strong>Tearscape&lt;/strong>&lt;/a>, &lt;em>a 2D top-down action-adventure game, where you must blend fast-paced combat and keen exploration to successfully navigate this Gothic, dreary world. You can buy the game or try out the demo on &lt;a href="https://store.steampowered.com/app/3216340/Tearscape/?curator_clanid=41324400">Steam&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/nerdstakeover.bsky.social">Bluesky&lt;/a>, &lt;a href="https://www.youtube.com/@TearscapeGameDev">YouTube&lt;/a>, or &lt;a href="https://discord.gg/YGcupnQZWp">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="changes">Changes&lt;/h2>
&lt;p>&lt;strong>25 contributors&lt;/strong> submitted &lt;strong>38 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.6.1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the &lt;a href="/releases/4.6/">4.6-stable release&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>3D: Change orbit snap shortcut with navigation scheme (&lt;a href="https://github.com/godotengine/godot/pull/115298">GH-115298&lt;/a>).&lt;/li>
&lt;li>3D: Fix &lt;code class="language-plaintext highlighter-rouge">Skeleton3D&lt;/code> Edit Mode bone buttons have priority over transform gizmo (&lt;a href="https://github.com/godotengine/godot/pull/115608">GH-115608&lt;/a>).&lt;/li>
&lt;li>3D: Fix viewport orbit snap defaulting to always snapping when shortcut(s) are set to none (&lt;a href="https://github.com/godotengine/godot/pull/115002">GH-115002&lt;/a>).&lt;/li>
&lt;li>3D: Increase float precision in the editor inspector for Quaternions (&lt;a href="https://github.com/godotengine/godot/pull/106352">GH-106352&lt;/a>).&lt;/li>
&lt;li>3D: Register zoom shortcuts to match preset &lt;code class="language-plaintext highlighter-rouge">Godot&lt;/code> navigation scheme (&lt;a href="https://github.com/godotengine/godot/pull/115290">GH-115290&lt;/a>).&lt;/li>
&lt;li>Animation: Fix double memdelete of &lt;code class="language-plaintext highlighter-rouge">dummy_player&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/115968">GH-115968&lt;/a>).&lt;/li>
&lt;li>Animation: Fix LookAtModifier3D / AimModifier3D forward vector (&lt;a href="https://github.com/godotengine/godot/pull/115689">GH-115689&lt;/a>).&lt;/li>
&lt;li>Animation: Fix use-after-free in Animation Blend Tree (&lt;a href="https://github.com/godotengine/godot/pull/115919">GH-115919&lt;/a>).&lt;/li>
&lt;li>Animation: Fix use-after-free in AnimationTree (AHashMap realloc) (&lt;a href="https://github.com/godotengine/godot/pull/115931">GH-115931&lt;/a>).&lt;/li>
&lt;li>Buildsystem: Fix missing lib with &lt;code class="language-plaintext highlighter-rouge">builtin_glslang=false&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/93478">GH-93478&lt;/a>).&lt;/li>
&lt;li>C#: Revert “Improve performance of &lt;code class="language-plaintext highlighter-rouge">CSharpLanguage::reload_assemblies&lt;/code>” (&lt;a href="https://github.com/godotengine/godot/pull/115759">GH-115759&lt;/a>).&lt;/li>
&lt;li>Core: Fix ClassDB class list sorting regression (&lt;a href="https://github.com/godotengine/godot/pull/115923">GH-115923&lt;/a>).&lt;/li>
&lt;li>Core: Fix the &lt;code class="language-plaintext highlighter-rouge">NodePath&lt;/code> hash function to not yield the same value for similar paths (&lt;a href="https://github.com/godotengine/godot/pull/115473">GH-115473&lt;/a>).&lt;/li>
&lt;li>Editor: Fix &lt;code class="language-plaintext highlighter-rouge">NodePath&lt;/code> &lt;code class="language-plaintext highlighter-rouge">EditorProperty&lt;/code> using the wrong scene root (&lt;a href="https://github.com/godotengine/godot/pull/115422">GH-115422&lt;/a>).&lt;/li>
&lt;li>Editor: Fix create dialog recents (&lt;a href="https://github.com/godotengine/godot/pull/115314">GH-115314&lt;/a>).&lt;/li>
&lt;li>Editor: Fix Rename option for instance roots (&lt;a href="https://github.com/godotengine/godot/pull/115575">GH-115575&lt;/a>).&lt;/li>
&lt;li>Editor: Fix Unique Resources from Inherited Scenes (&lt;a href="https://github.com/godotengine/godot/pull/115862">GH-115862&lt;/a>).&lt;/li>
&lt;li>Editor: Fix wrong base type when creating script (&lt;a href="https://github.com/godotengine/godot/pull/115778">GH-115778&lt;/a>).&lt;/li>
&lt;li>Export: Load translation files to check locale for ICU data export (&lt;a href="https://github.com/godotengine/godot/pull/115827">GH-115827&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Add &lt;code class="language-plaintext highlighter-rouge">godot&lt;/code> to known language ids (&lt;a href="https://github.com/godotengine/godot/pull/115671">GH-115671&lt;/a>).&lt;/li>
&lt;li>GDScript: LSP: Handle clients that do not support &lt;code class="language-plaintext highlighter-rouge">CompletionContext&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/115672">GH-115672&lt;/a>).&lt;/li>
&lt;li>GUI: Fix current line highlight not extending into gutter (&lt;a href="https://github.com/godotengine/godot/pull/115729">GH-115729&lt;/a>).&lt;/li>
&lt;li>Input: Update editor shortcuts when changing 3D navigation scheme (&lt;a href="https://github.com/godotengine/godot/pull/115289">GH-115289&lt;/a>).&lt;/li>
&lt;li>Particles: Revert “Change curve range for particle multipliers” (&lt;a href="https://github.com/godotengine/godot/pull/116140">GH-116140&lt;/a>).&lt;/li>
&lt;li>Physics: Allow &lt;code class="language-plaintext highlighter-rouge">SoftBody3D&lt;/code> to have a &lt;code class="language-plaintext highlighter-rouge">total_mass&lt;/code> of 0 again (&lt;a href="https://github.com/godotengine/godot/pull/116111">GH-116111&lt;/a>).&lt;/li>
&lt;li>Physics: Fix transform updates sometimes being discarded when using Jolt (&lt;a href="https://github.com/godotengine/godot/pull/115364">GH-115364&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Fix &lt;code class="language-plaintext highlighter-rouge">Bad file descriptor&lt;/code> in SAF/MediaStore in long term access (&lt;a href="https://github.com/godotengine/godot/pull/115751">GH-115751&lt;/a>).&lt;/li>
&lt;li>Platforms: Fix crash in &lt;code class="language-plaintext highlighter-rouge">StorageScope.kt&lt;/code> on Android (&lt;a href="https://github.com/godotengine/godot/pull/115515">GH-115515&lt;/a>).&lt;/li>
&lt;li>Platforms: Wayland Embedder: Fix FD leak with inert objects (&lt;a href="https://github.com/godotengine/godot/pull/115823">GH-115823&lt;/a>).&lt;/li>
&lt;li>Platforms: Windows: Disable MSVC control flow check on IAT hooks (&lt;a href="https://github.com/godotengine/godot/pull/115430">GH-115430&lt;/a>).&lt;/li>
&lt;li>Plugin: Android: Fix plugin type mismatch regression (&lt;a href="https://github.com/godotengine/godot/pull/115685">GH-115685&lt;/a>).&lt;/li>
&lt;li>Rendering: Avoid reading from sky pointer when rendering background without sky (&lt;a href="https://github.com/godotengine/godot/pull/115874">GH-115874&lt;/a>).&lt;/li>
&lt;li>Rendering: Ensure that uv border size is passed in to sky rendering functions (&lt;a href="https://github.com/godotengine/godot/pull/115606">GH-115606&lt;/a>).&lt;/li>
&lt;li>Rendering: Pick the sample closer to the camera when resolving 2x MSAA (&lt;a href="https://github.com/godotengine/godot/pull/115124">GH-115124&lt;/a>).&lt;/li>
&lt;li>Rendering: Update re-spirv with more derivative operations (&lt;a href="https://github.com/godotengine/godot/pull/115921">GH-115921&lt;/a>).&lt;/li>
&lt;li>Rendering: Use sky’s corrected camera projection for &lt;code class="language-plaintext highlighter-rouge">combined_reprojection&lt;/code> (&lt;a href="https://github.com/godotengine/godot/pull/115292">GH-115292&lt;/a>).&lt;/li>
&lt;li>Rendering: Use transmittance instead of opacity in the early-out branch when calculating volumetric fog (&lt;a href="https://github.com/godotengine/godot/pull/116107">GH-116107&lt;/a>).&lt;/li>
&lt;li>Thirdparty: libpng: Update to 1.6.54 (&lt;a href="https://github.com/godotengine/godot/pull/115714">GH-115714&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.6 release. &lt;strong>We encourage all users to upgrade to 4.6.1.&lt;/strong>&lt;/p>
&lt;p>If you experience any unexpected behavior change in your projects after upgrading to 4.6.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 you’d 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-6-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Mon, 16 Feb 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/maintenance-release-godot-4-6-1.jpg</image></item><item><title>Dev snapshot: Godot 4.7 dev 1</title><link>https://godotengine.org/article/dev-snapshot-godot-4-7-dev-1/</link><summary>All the colors of the rainbow (and more?)</summary><description>&lt;p>The first development snapshot for 4.7 has arrived! With it, several quality PRs are free from the backlog at last, be it because they were locked out from the 4.6 feature freeze or were simply deemed too risky for the stable release. The majority of the latter cases were already highlighted earlier this week in our &lt;a href="/article/release-candidate-godot-4-6-rc-1/">4.6.1 RC 1 snapshot&lt;/a>, so this article will be focused on the former: new features and quality-of-life goodies.&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.7.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/3838370/TR49/?curator_clanid=41324400">&lt;strong>TR-49&lt;/strong>&lt;/a>, &lt;em>a story-rich puzzle game set in an alternate history, where you’re tasked solving a mystery by navigating the archives of a long-abandoned World War II computer. You can buy the game on &lt;a href="https://store.steampowered.com/app/3838370/TR49/?curator_clanid=41324400">Steam&lt;/a> or the &lt;a href="https://apps.apple.com/us/app/tr-49/id6754027574">iOS App Store&lt;/a>, and follow the developers on &lt;a href="https://bsky.app/profile/inkle.co">Bluesky&lt;/a> or &lt;a href="https://discord.gg/inkle">Discord&lt;/a>.&lt;/em>&lt;/p>
&lt;h2 id="highlights">Highlights&lt;/h2>
&lt;h3 id="input-virtualjoystick">Input: &lt;code class="language-plaintext highlighter-rouge">VirtualJoystick&lt;/code>&lt;/h3>
&lt;p>Joypad controls for mobile games have been historically awkward to integrate. While community-based tools &lt;a href="https://github.com/MarcoFazioRandom/Virtual-Joystick-Godot">do exist&lt;/a> to mitigate this problem, this still involves developers jumping through significantly more hoops than other input devices. &lt;a href="https://github.com/Kazox61">Kazox61&lt;/a> has come to the rescue with &lt;a href="https://github.com/godotengine/godot/pull/110933">GH-110933&lt;/a>, offering a built-in solution for handling joysticks inputs virtually with &lt;code class="language-plaintext highlighter-rouge">VirtualJoystick&lt;/code>.&lt;/p>
&lt;p>&lt;strong>JOYSTICK_FIXED&lt;/strong>: The joystick doesn’t move.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Virtual joystick: fixed">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-1/virtual-joystick-fixed.mp4?1" type="video/mp4" />
&lt;/video>
&lt;p>&lt;strong>JOYSTICK_DYNAMIC&lt;/strong>: The joystick is moved to the initial touch position as long as it’s within the joystick’s bounds. It moves back to its original position when released.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Virtual joystick: dynamic">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-1/virtual-joystick-dynamic.mp4?1" type="video/mp4" />
&lt;/video>
&lt;p>&lt;strong>JOYSTICK_FOLLOWING&lt;/strong>: The joystick is moved to the initial touch position as long as it’s within the joystick’s bounds. It will follow the touch input if it goes outside the joystick’s range. It moves back to its original position when released.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Virtual joystick: following">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-1/virtual-joystick-follow.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="rendering-drawabletexture">Rendering: &lt;code class="language-plaintext highlighter-rouge">DrawableTexture&lt;/code>&lt;/h3>
&lt;p>One very widely-requested feature across Godot’s entire lifetime has been the ability to easily draw on a texture. While this can be somewhat achieved by &lt;a href="https://docs.godotengine.org/en/latest/tutorials/rendering/viewports.html">using &lt;code class="language-plaintext highlighter-rouge">Viewport&lt;/code>&lt;/a>, it remained quite limited and wasn’t suited for more complex tasks. Conversely, &lt;code class="language-plaintext highlighter-rouge">RenderingDevice&lt;/code> is an answer for those not afraid to get their hands dirty with the guts of the engine, but that leaves the average user in the dust and is hardly a convenient solution even for those that know what they’re doing. &lt;a href="https://github.com/ColinSORourke">Colin O’Rourke&lt;/a> delivered a solution in the form of &lt;code class="language-plaintext highlighter-rouge">DrawableTexture&lt;/code>: a simple API layer to abstract away all the technical noise and give users of all skill levels a convenient way to “do the thing”. (&lt;a href="https://github.com/godotengine/godot/pull/105701">GH-105701&lt;/a>).&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="DrawableTexture example">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-1/drawable-texture-example.mp4?1" type="video/mp4" />
&lt;/video>
&lt;p>The above clip is taken from a dedicated demo project by &lt;a href="https://github.com/BastiaanOlij">Bastiaan Olij&lt;/a>. If you’re interested in experiencing the changes firsthand, you can try it for yourself &lt;a href="https://github.com/BastiaanOlij/drawable-textures-demo">here&lt;/a>.&lt;/p>
&lt;h3 id="3d-enable-path3d-collider-snapping">3D: Enable &lt;code class="language-plaintext highlighter-rouge">Path3D&lt;/code> collider snapping&lt;/h3>
&lt;p>&lt;a href="https://github.com/GustJc">Gustavo Jaruga Cruz&lt;/a> has given the 3D editor some love in the form of &lt;code class="language-plaintext highlighter-rouge">Path3D&lt;/code> collider snapping (&lt;a href="https://github.com/godotengine/godot/pull/102085">GH-102085&lt;/a>). Now when creating and editing paths, you have the option of snapping those paths to whatever collider the mouse is hovering over, rather than simply dropping a point in space arbitrarily. As demonstrated in the below clip, this behavior is toggleable on the &lt;code class="language-plaintext highlighter-rouge">Path3D&lt;/code> options menu.&lt;/p>
&lt;video autoplay="" loop="" muted="" playsinline="" title="Path3D snapping to collider">
&lt;source src="/storage/blog/dev-snapshot-godot-4-7-dev-1/path3d-collider-snap.mp4?1" type="video/mp4" />
&lt;/video>
&lt;h3 id="gdscript-improve-display-non-exported-members-in-remote-tree-inspector">GDScript: Improve display non-exported members in Remote Tree Inspector&lt;/h3>
&lt;p>If you’ve ever tried to wrangle with non-exported enums in a remote play session, you’re already aware of how annoying it to have those values revert to simple integers. &lt;a href="https://github.com/dalexeev">Danil Alexeev&lt;/a> has brought us a solution via &lt;a href="https://github.com/godotengine/godot/pull/115705">GH-115705&lt;/a>, ensuring that metadata is retained for variables regardless of their export status.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Before&lt;/th>
&lt;th>After&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-1/remote-inspector-before.webp" alt="Remote Tree Inspector enum before" />&lt;/td>
&lt;td>&lt;img src="/storage/blog/dev-snapshot-godot-4-7-dev-1/remote-inspector-after.webp" alt="Remote Tree Inspector enum after" />&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="rendering-vulkan-raytracing-plumbing">Rendering: Vulkan raytracing plumbing&lt;/h3>
&lt;p>While Vulkan has had an API available for a few years now to support raytracing, actually &lt;em>implementing&lt;/em> that API is much easier said than done. Rendering is already one of the most complex parts of the engine, and adding raytracing on top of that increases that complexity exponentially. With that in mind, it cannot be overstated just how impressive it is that &lt;a href="https://github.com/Fahien">Antonio Caggiano&lt;/a> has provided us with the groundwork necessary to make that a reality (&lt;a href="https://github.com/godotengine/godot/pull/99119">GH-99119&lt;/a>). He’s graciously provided a &lt;a href="https://github.com/Fahien/godot-raytracing-gdscript-demo">demo project&lt;/a> to showcase this new functionality via GDScript.&lt;/p>
&lt;h3 id="windows-support-hdr-output">Windows: Support &lt;abbr title="High dynamic range">&lt;a href="https://en.wikipedia.org/wiki/High_dynamic_range">HDR&lt;/a>&lt;/abbr> output&lt;/h3>
&lt;p>Those that followed our 4.6 blog posts might remember a section that touched on the &lt;a href="/article/dev-snapshot-godot-4-6-dev-2/#rendering-blend-glow-before-tonemapping-and-change-default-to-screen">future implementation of HDR&lt;/a> to the engine. The future is now, as one of our goals for 4.7 is making HDR output possible on all supported platforms. Documentation and implementation is still in the early stages, so we won’t have much to touch on this blog post. However, we can offer a small preview, as &lt;a href="https://github.com/DarkKilauea">Josh Jones&lt;/a>, &lt;a href="https://github.com/alvinhochun">Alvin Wong&lt;/a>, and &lt;a href="https://github.com/allenwp">Allen Pestaluky&lt;/a> have begun this long-term goal with an implementation on Windows (&lt;a href="https://github.com/godotengine/godot/pull/94496">GH-94496&lt;/a>).&lt;/p>
&lt;h3 id="and-more">And more!&lt;/h3>
&lt;p>There are too many exciting changes to list them all here, but here’s a curated selection:&lt;/p>
&lt;ul>
&lt;li>Core: PCKPacker: Add method to add files from buffer (&lt;a href="https://github.com/godotengine/godot/pull/108830">GH-108830&lt;/a>).&lt;/li>
&lt;li>Editor: Add a script editor keyboard shortcut to show the documentation tooltip for the word the caret is on (&lt;a href="https://github.com/godotengine/godot/pull/115767">GH-115767&lt;/a>).&lt;/li>
&lt;li>Editor: Improve appearance of built-in help (&lt;a href="https://github.com/godotengine/godot/pull/107597">GH-107597&lt;/a>).&lt;/li>
&lt;li>Editor: Optimize tree size computation and the scene tree dock filter (&lt;a href="https://github.com/godotengine/godot/pull/110759">GH-110759&lt;/a>).&lt;/li>
&lt;li>Editor: Support navigating to the script in list (&lt;a href="https://github.com/godotengine/godot/pull/112796">GH-112796&lt;/a>).&lt;/li>
&lt;li>Editor: Take custom type of parent scripts into account when dropping onready variables (&lt;a href="https://github.com/godotengine/godot/pull/115158">GH-115158&lt;/a>).&lt;/li>
&lt;li>GUI: Add accessibility region role for landmark navigation (&lt;a href="https://github.com/godotengine/godot/pull/114449">GH-114449&lt;/a>).&lt;/li>
&lt;li>GUI: Add conic gradient to GradientTexture2D (&lt;a href="https://github.com/godotengine/godot/pull/115394">GH-115394&lt;/a>).&lt;/li>
&lt;li>Input: Add support for joypad motion sensors (&lt;a href="https://github.com/godotengine/godot/pull/111679">GH-111679&lt;/a>).&lt;/li>
&lt;li>Physics: Add one-way collision direction for CollisionShape2Ds (&lt;a href="https://github.com/godotengine/godot/pull/104736">GH-104736&lt;/a>).&lt;/li>
&lt;li>Platforms: Add device orientation change signal to DisplayServer (&lt;a href="https://github.com/godotengine/godot/pull/115434">GH-115434&lt;/a>).&lt;/li>
&lt;li>Platforms: Android: Enable native file picker support on all devices (&lt;a href="https://github.com/godotengine/godot/pull/115257">GH-115257&lt;/a>).&lt;/li>
&lt;li>Rendering: Clearcoat improvements and fixes (&lt;a href="https://github.com/godotengine/godot/pull/111464">GH-111464&lt;/a>).&lt;/li>
&lt;li>Rendering: Give every pass its own unique environment uniform buffer (&lt;a href="https://github.com/godotengine/godot/pull/115177">GH-115177&lt;/a>).&lt;/li>
&lt;li>Rendering: Metal: Refactor; fix dynamic uniforms; acyclic render graph support (&lt;a href="https://github.com/godotengine/godot/pull/114484">GH-114484&lt;/a>).&lt;/li>
&lt;li>Rendering: Vulkan: Update all components to Vulkan SDK 1.4.335.0 (&lt;a href="https://github.com/godotengine/godot/pull/114075">GH-114075&lt;/a>).&lt;/li>
&lt;/ul>
&lt;h2 id="changelog">Changelog&lt;/h2>
&lt;p>&lt;strong>127 contributors&lt;/strong> submitted &lt;strong>311 fixes&lt;/strong> for this release. See our &lt;a href="https://godotengine.github.io/godot-interactive-changelog/#4.7-dev1">&lt;strong>interactive changelog&lt;/strong>&lt;/a> for the complete list of changes since the &lt;a href="/releases/4.6/">4.6 feature release&lt;/a>.&lt;/p>
&lt;p>This release is built from commit &lt;a href="https://github.com/godotengine/godot/commit/bf95b62586e31b8a3503f5903d7764d7c52bf2ab">&lt;code class="language-plaintext highlighter-rouge">bf95b6258&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.7-dev1">
Download Godot 4.7 dev1
&lt;/a>
&lt;div class="card-download-details">
&lt;img class="lightbox-ignore" src="/storage/blog/covers/dev-snapshot-godot-4-7-dev-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.7&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.7&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.7&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.7&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.7&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.7&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.7-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 haven’t 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;ul>
&lt;li>macOS builds are not signed this release; this will be resolved by the time 4.7-dev2 comes out. &lt;strong>Edit 2026-02-17 @ 23:00 UTC:&lt;/strong> Signed builds have been uploaded for macOS, replacing the previous binaries.&lt;/li>
&lt;/ul>
&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 you’d 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-7-dev-1/</guid><dc:creator>Thaddeus Crews</dc:creator><pubDate>Fri, 13 Feb 2026 12:00:00 +0000</pubDate><image>https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-7-dev-1.jpg</image></item></channel></rss>