mirror of
https://github.com/godotengine/godot-website.git
synced 2026-01-05 10:10:00 +03:00
24 lines
39 KiB
HTML
24 lines
39 KiB
HTML
<!doctype html><html lang=en><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=author content="Godot Engine"><meta name=description content="Powering through the post-GodotFest blues"><script defer data-domain=godotengine.org src=https://plausible.godot.foundation/js/script.file-downloads.outbound-links.js></script><meta property="og:site_name" content="Godot Engine"><meta property="og:url" content="https://godotengine.org/article/dev-snapshot-godot-4-6-dev-4/"><meta property="og:type" content="website"><meta property="og:description" content="Powering through the post-GodotFest blues"><meta property="og:image" content="https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-6-dev-4.jpg"><meta name=twitter:card content="summary_large_image"><meta property="twitter:domain" content="godotengine.org"><meta property="twitter:url" content="https://godotengine.org/article/dev-snapshot-godot-4-6-dev-4/"><meta property="og:title" content="Dev snapshot: Godot 4.6 dev 4 – Godot Engine"><title>Dev snapshot: Godot 4.6 dev 4 – Godot Engine</title>
|
||
<link rel=alternate type=application/rss+xml title="Godot News" href=/rss.xml><link rel=alternate type=application/json title="Godot News" href=/rss.json><link rel=alternate type=application/atom+xml title="Godot News" href=/atom.xml><link rel=icon href=/assets/favicon.png sizes=any><link rel=icon href=/assets/favicon.svg type=image/svg+xml><link rel=stylesheet href=/assets/css/main.css?121><link rel=stylesheet href=/assets/css/header.css?6><link rel=stylesheet href=/assets/css/tobii.min.css><link rel=preload as=font href=/assets/fonts/Montserrat-Italic-VariableFont_wght.woff2 crossorigin><link rel=preload as=font href=/assets/fonts/Montserrat-VariableFont_wght.woff2 crossorigin><link rel=me href=https://mastodon.gamedev.place/@godotengine><input type=checkbox id=nav_toggle_cb><header class="flex column"><div class="container flex align-center"><div id=nav_head><a href=/ id=logo-link><img class=nav-logo src=/assets/logo.svg width=136 height=48 alt="Godot Engine">
|
||
<img class="nav-logo dark-logo" src=/assets/logo_dark.svg width=136 height=48 alt="Godot Engine"></a><div class=mobile-links><span class="fund mobile"><a href=https://fund.godotengine.org><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width:13px;fill:#fff;margin-right:4px"><path d="M47.6 300.4 228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6.0 115.2.0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg> Donate</a></span>
|
||
<label for=nav_toggle_cb id=nav_toggle_btn><img src=/assets/icons/hamburger.svg width=24 height=24 alt="Main menu"></label></div></div><nav id=nav><ul class=left><li><a href=/features/ data-dropdown=features-dropdown>Features</a><li><a href=/showcase/>Showcase</a><li><a href=/blog/>Blog</a><li><a href=/community/ data-dropdown=community-dropdown>Community</a><li><a href=https://godotengine.org/asset-library/asset>Assets</a><li class=mobile-only><a href=/consoles/>Console support</a></ul><ul class=right><li><a href=/download/windows/ class=set-os-download-url>Download</a><li><a href=https://docs.godotengine.org>Docs</a><li><a href=https://contributing.godotengine.org/en/latest/organization/how_to_contribute.html>Contribute</a><li class="fund desktop"><a href=https://fund.godotengine.org><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width:13px;fill:#fff;margin-right:4px;top:1px;position:relative"><path d="M47.6 300.4 228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6.0 115.2.0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg> Donate</a></ul></nav></div></header><div class=nav-dropdown-menu id=features-dropdown><a href=/features/ class=touch-only>Features</a>
|
||
<a href=/consoles/>Console support</a></div><div class=nav-dropdown-menu id=community-dropdown><a href=/community/ class=touch-only>Community</a>
|
||
<a href=https://forum.godotengine.org>Forum</a>
|
||
<a href=/events/>Events</a></div><script>document.addEventListener("DOMContentLoaded",function(){const e=document.querySelectorAll("[data-dropdown]");e.forEach(e=>{const n=e.getAttribute("data-dropdown"),t=document.getElementById(n);if(t){let n=-1;const i=()=>{if(n===-1)return;clearTimeout(n),n=-1},a=()=>t.style.display==="block",r=()=>{if(a())return;if(window.innerWidth<1200)return;i();const n=e.getBoundingClientRect();t.style.top=n.bottom+"px",t.style.left=n.left+"px",t.style.display="block",e.classList.add("dropdown-open")},s=({instant:s=!1}={})=>{if(!a())return;const o=()=>{i(),t.style.display="none",e.classList.remove("dropdown-open")};if(s){o();return}n=setTimeout(o,100)},l=e=>{if(window.innerWidth<1200)return;e.preventDefault(),a()?s({instant:!0}):r()},c=e=>t=>{t.pointerType==="touch"&&e(t)},o=e=>t=>{t.pointerType!=="touch"&&e(t)};e.addEventListener("pointerup",c(e=>l(e))),document.documentElement.addEventListener("pointerup",c(n=>{!e.contains(n.target)&&!t.contains(n.target)&&s({instant:!0})})),e.addEventListener("pointerenter",o(e=>r())),e.addEventListener("pointerleave",o(e=>s())),t.addEventListener("pointerenter",o(e=>i())),t.addEventListener("pointerleave",o(e=>s()))}})})</script><main><style>body{background-color:var(--background-color)}h1{margin-bottom:8px;margin-top:32px}:not(pre)>code{background:var(--code-background-color);padding:1px 4px;font-size:.95em;border-radius:3px}pre{background:var(--codeblock-background-color);color:var(--codeblock-color)}pre code{display:block;overflow-x:auto;padding:.5em}.date-big{line-height:2;margin-left:32px}article{background-color:var(--base-color);box-shadow:0 3px 2px rgba(0,0,0,.15)}figure{margin:0}figure img{margin:0}article img,article video{max-width:100%;height:auto;display:block;margin:auto;margin-top:16px;margin-bottom:16px}article h1{margin-top:64px}article h2,article h3,article h4{margin-top:42px}.article-info{display:flex;flex-direction:column;gap:8px}.article-metadata{display:flex;gap:24px;align-items:center;font-family:var(--header-font-family);margin-bottom:12px}@media(max-width:900px){.article-metadata{flex-direction:column;align-items:flex-start;gap:16px}}.article-author{color:var(--base-color-text-subtitle-date);font-weight:700;font-size:18px;flex-grow:1;display:flex;gap:12px;align-items:center}.article-author .avatar{border-radius:100%;margin:0;background:0 0}.article-author .by{color:var(--base-color-text-subtitle)}.article-metadata .date{color:var(--base-color-text-subtitle-date)}.article-metadata .date.post-recent-highlight{color:var(--post-recent-highlight-color);opacity:.8}.article-metadata .date.post-recent-highlight::after{font-size:80%;content:"NEW";border:2px solid var(--post-recent-highlight-color);padding:2px 3px;margin-left:8px}.tag.active{filter:saturate(.75)}@media screen and (min-width:900px){article .content{width:70%;margin:auto}}@media(max-width:900px){body{background-color:var(--base-color)}article{background-color:initial;box-shadow:none}article img:first-child,article video:first-child{max-width:100%}}.blog-navigation{display:grid;grid-template-columns:1fr 1fr;padding-top:30px;padding-bottom:60px}.blog-navigation .next{text-align:right}@media(max-width:900px){.blog-navigation{grid-template-columns:1fr;gap:20px;border-top:1px solid var(--code-background-color)}.blog-navigation .next{text-align:left}}.blog-navigation span{opacity:.6;font-weight:700;margin-bottom:5px;display:block}.blog-navigation a{display:inline-block;text-decoration:none;color:inherit;opacity:.6;transition:opacity .2s}.blog-navigation a:hover{opacity:1}</style><link rel=stylesheet href=/assets/css/highlight.obsidian.min.css><div class=container><article class=padded><div class="content article-container"><figure class=article-cover><figcaption><strong>House of Necrosis</strong>
|
||
<span style=margin-left:.75rem;font-size:90%>A game by Warkus</span></figcaption><img src=/storage/blog/covers/dev-snapshot-godot-4-6-dev-4.jpg title="House of Necrosis" alt="House of Necrosis A game by Warkus" class=rounded-lg style=width:100%;height:auto;background-color:initial></figure><div class=article-info><h1>Dev snapshot: Godot 4.6 dev 4</h1><div class=article-metadata><div class=article-author><span>By: </span><img class=avatar width=25 height=25 src=/assets/images/authors/repiteo.jpg alt="Thaddeus Crews" loading=lazy>
|
||
<span class=by>Thaddeus Crews</span></div><span class=date data-post-date="2025-11-14 11:00:00 +0000">14 November 2025</span></div><div class=tags><a href=/blog/pre-release><div class="tag active">Pre-release</div></a></div></div><div class=article-body><p>With <a href=https://godotfest.com/>GodotFest</a> now behind us, it’s only natural that some users would be left with a sense of longing. Well we have just the thing: our most recent Godot 4.6 development snapshot! It’s not even been two weeks since the last one, but we couldn’t just leave y’all hanging for more Godot content. As always, these snapshots feature big changes, meaning they’re likely accompanied by big regressions and bugs; get those tests and reports in as early as possible to ensure an expedient release cycle!<p>Please consider <a href=#support>supporting the project financially</a>, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.<p><a href=#downloads>Jump to the <strong>Downloads</strong> section</a>, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the <a href=https://editor.godotengine.org/releases/4.6.dev3/><strong>Web editor</strong></a>, the <a href=https://www.meta.com/s/3yJ7i8kop><strong>XR editor</strong></a>, or the <a href="https://play.google.com/store/apps/details?id=org.godotengine.editor.v4"><strong>Android editor</strong></a> for this release. If you are interested in the latter, please request to join <a href=https://groups.google.com/g/godot-testers>our testing group</a> to get access to pre-release builds.<hr><p><em>The cover illustration is from</em> <a href="https://store.steampowered.com/app/2005870/House_of_Necrosis/?curator_clanid=41324400"><strong>House of Necrosis</strong></a>, <em>a turn-based, horror PRG where you must survive the horrors of a mansion that changes every time it’s entered. You can get the game or try the demo on <a href="https://store.steampowered.com/app/2005870/House_of_Necrosis/?curator_clanid=41324400">Steam</a>, and follow the developer on <a href=https://www.youtube.com/@Warrrkus>YouTube</a>, <a href=https://bsky.app/profile/mycard.utustudios.com>Bluesky</a>, or <a href=https://warrrkus.itch.io/>itch.io</a>.</em><h2 id=highlights>Highlights</h2><h3 id=animation-add-skeletonmodifier3d-iks-as-ikmodifier3d>Animation: Add <code class="language-plaintext highlighter-rouge">SkeletonModifier3D</code> IKs as <code class="language-plaintext highlighter-rouge">IKModifier3D</code></h3><p>For those that aren’t already aware, <code class="language-plaintext highlighter-rouge">SkeletonModificationStack3D</code> was removed in the transition from 3.x to 4.0, as it was deemed wildly unstable and unsalvageable. Since then, <a href=https://github.com/TokageItLab>Tokage</a> has been on a journey to reincorporate the functionality such that it lives up to the standards the rest of the engine aims for. This started early last year with the incorporation of <code class="language-plaintext highlighter-rouge">SkeletonModifier3D</code> (<a href=https://github.com/godotengine/godot/pull/87888>GH-87888</a>), which restored the majority of baseline functionality. However, there was one area which didn’t make the transiton: <abbr title="Inverse kinematics">IKs</abbr>.<p>The process of supporting IKs proved to be far more involved, as it too needed to be incorporated in a way that matched the engine’s standards and expectations. Consequently, that meant a solution that naturally expands off our <code class="language-plaintext highlighter-rouge">Node</code> paradigm; a tall order for how many use-cases and scenarios one must consider and account for when dealing with IKs. This resulted in <code class="language-plaintext highlighter-rouge">SkeletonModifier3D</code> receiving <strong>8 new subclasses</strong>, which are as follows:<ul><li><a href=https://docs.godotengine.org/en/latest/classes/class_ikmodifier3d.html><code class="language-plaintext highlighter-rouge">IKModifier3D</code></a><ul><li><a href=https://docs.godotengine.org/en/latest/classes/class_chainik3d.html><code class="language-plaintext highlighter-rouge">ChainIK3D</code></a><li><a href=https://docs.godotengine.org/en/latest/classes/class_iterateik3d.html><code class="language-plaintext highlighter-rouge">IterateIK3D</code></a><ul><li><a href=https://docs.godotengine.org/en/latest/classes/class_ccdik3d.html#class-ccdik3d><code class="language-plaintext highlighter-rouge">CCDIK3D</code></a><li><a href=https://docs.godotengine.org/en/latest/classes/class_fabrik3d.html#class-fabrik3d><code class="language-plaintext highlighter-rouge">FABRIK3D</code></a><li><a href=https://docs.godotengine.org/en/latest/classes/class_jacobianik3d.html#class-jacobianik3d><code class="language-plaintext highlighter-rouge">JacobianIK3D</code></a></ul><li><a href=https://docs.godotengine.org/en/latest/classes/class_splineik3d.html#class-splineik3d><code class="language-plaintext highlighter-rouge">SplineIK3D</code></a></ul><li><a href=https://docs.godotengine.org/en/latest/classes/class_twoboneik3d.html#class-twoboneik3d><code class="language-plaintext highlighter-rouge">TwoBoneIK3D</code></a></ul><p>Attempting to go over all of these is well beyond the scope of this blog post, so readers wanting more information should check out the pull request for more details. Instead, we’ll show off one of the bugfixes to this new system in (<a href=https://github.com/godotengine/godot/pull/112573>GH-112573</a>), as it provides an easily digestable visualization of what this system is capable of.<h4 id=before>Before</h4><p><img src=/storage/blog/dev-snapshot-godot-4-6-dev-4/haha-funny-wiggle.webp alt=gmod-ragdoll.mp3><h4 id=after>After</h4><video autoplay loop muted playsinline title="Still funny, but functional!">
|
||
<source src=/storage/blog/dev-snapshot-godot-4-6-dev-4/haha-funny-stretch.mp4?1 type=video/mp4></video><h3 id=project-manager-various-improvements>Project manager: Various improvements</h3><p>The editor received a <strong>lot</strong> of love this development snapshot, with many features well worth a look in the curated highlights. However, for this blog post, we’ll be focusing on an often overlooked element of our editor: the project manager. While technically separate from the editor in the traditional sense, it is editor-exclusive functionality which exists to launch project editors, so they’re invariably intertwined. With the project manager getting an uncharacteristic amount of attention this cycle, here’s a quick lightning-round of changes:<p><a href=https://github.com/Rindbee>Rindbee</a> is starting things off with an improved UI navigation (<a href=https://github.com/godotengine/godot/pull/101129>GH-101129</a>). The previous implementation clashed with our recent AccessKit integration, as it didn’t lend itself to keyboard navigation. Now a new focus style makes navigation easier than ever:</p><video autoplay loop muted playsinline title="Project manager navigation">
|
||
<source src=/storage/blog/dev-snapshot-godot-4-6-dev-4/project-manager-nagivation.mp4?1 type=video/mp4></video><p>Next is <a href=https://github.com/Meorge>Malcolm Anderson</a>, who implemented functionality for opening the project in the file explorer as a “Show in File Manager” button (<a href=https://github.com/godotengine/godot/pull/111624>GH-111624</a>). Unfortunately, while a highly-requested feature, it proved to be too cluttered and was slated for a revert. Not being one to throw out the baby with the bathwater, <a href=https://github.com/KoBeWi>Tomasz Chabora</a> saved the functionality by reimplementing it in the form of a newly-added right-click menu:</p><video autoplay loop muted playsinline title="Project manager navigation">
|
||
<source src=/storage/blog/dev-snapshot-godot-4-6-dev-4/project-manager-right-click.mp4?1 type=video/mp4></video><p>Speaking of Tomasz, he’s here to round things off with yet another highly-requested feature: the ability to modify editor settings within the project manager (<a href=https://github.com/godotengine/godot/pull/82212>GH-82212</a>). Now opening a project just to make general adjustments is no longer necessary, as it can all be handled in the much more lightweight context of the project manager:</p><video autoplay loop muted playsinline title="Project manager navigation">
|
||
<source src=/storage/blog/dev-snapshot-godot-4-6-dev-4/project-manager-editor-settings.mp4?1 type=video/mp4></video><h3 id=buildsystem-support-dedicated-profilers>Buildsystem: Support dedicated profilers</h3><div class="card card-warning"><p>This is unapologetically super-nerd territory, and strictly targeting those who already know what this is talking about. Everyone else, feel free to jump to the curated highlights instead.</div><p>It’s rare for our blog posts to mention the buildsystem in any capacity — let alone as a featured highlight — but this is a very special exception: Godot can now natively support dedicated profilers <a href=https://github.com/godotengine/godot/pull/104851>GH-104851</a>! Note that this is separate from <a href=https://docs.godotengine.org/en/latest/tutorials/scripting/debug/the_profiler.html>Godot’s built-in profiler</a>, as that’s suited for projects running <em>in</em> the engine, rather than the engine <em>itself</em>. Godot’s built-in profiler is still very useful, but these dedicated profilers are a great option for people who are very serious about optimizing Godot or their games.<p>Thanks to the efforts of <a href=https://github.com/Ivorforce>Lukas Tenbrink</a>, engine developers will no longer need to manually integrate (and constantly re-integrate) profiling logic to the engine. Instead, they merely need to pass the appropriate path to <code class="language-plaintext highlighter-rouge">profiler_path</code>, and our buildsystem will automatically detect and integrate the given profiler. Currently, the buildsystem supports <a href=https://github.com/wolfpld/tracy>Tracy</a> and <a href=https://perfetto.dev/>Perfetto</a>, but the groundwork exists for additional tools to be integrated down the road.<h3 id=and-more>And more!</h3><p>There are too many exciting changes to list them all here, but here’s a curated selection:<ul><li>2D: Fix smart snapping lines to disappear after using the pivot tool (<a href=https://github.com/godotengine/godot/pull/105203>GH-105203</a>).<li>3D: Add Bresenham Line Algorithm to GridMap Drawing (<a href=https://github.com/godotengine/godot/pull/105292>GH-105292</a>).<li>Core: Add ability to get list of Project Settings changed, similar to Editor Settings functionality (<a href=https://github.com/godotengine/godot/pull/110748>GH-110748</a>).<li>Editor: Add indicator to linked resources (<a href=https://github.com/godotengine/godot/pull/109458>GH-109458</a>).<li>Editor: Allow concurrent unbinding and binding of signal arguments in editor (<a href=https://github.com/godotengine/godot/pull/108741>GH-108741</a>).<li>Editor: Autoloads with UIDs (<a href=https://github.com/godotengine/godot/pull/112193>GH-112193</a>).<li>Editor: Automatically open newly created script (<a href=https://github.com/godotengine/godot/pull/108342>GH-108342</a>).<li>Editor: Fix edit resource on inspector when inside array or dictionary (<a href=https://github.com/godotengine/godot/pull/106099>GH-106099</a>).<li>Editor: Open source code errors in external editor (<a href=https://github.com/godotengine/godot/pull/111805>GH-111805</a>).<li>Editor: Persist fullscreen setting on Android Editor (<a href=https://github.com/godotengine/godot/pull/112246>GH-112246</a>).<li>GUI: PopupMenu: Add theme option for merging icon and checkbox gutters (<a href=https://github.com/godotengine/godot/pull/112545>GH-112545</a>).<li>I18n: Add CSV translation template generation (<a href=https://github.com/godotengine/godot/pull/112149>GH-112149</a>).<li>I18n: Make editor language setting default to Auto (<a href=https://github.com/godotengine/godot/pull/112317>GH-112317</a>).<li>Input: Add support for setting a joypad’s LED light color (<a href=https://github.com/godotengine/godot/pull/111681>GH-111681</a>).<li>Rendering: Apply viewport oversampling to Polygon2D (<a href=https://github.com/godotengine/godot/pull/112352>GH-112352</a>).<li>XR: OpenXR: Add support for frame synthesis (<a href=https://github.com/godotengine/godot/pull/109803>GH-109803</a>).</ul><h2 id=changelog>Changelog</h2><p><strong>83 contributors</strong> submitted <strong>168 fixes</strong> for this release. See our <a href=https://godotengine.github.io/godot-interactive-changelog/#4.6-dev4><strong>interactive changelog</strong></a> for the complete list of changes since <a href=/article/dev-snapshot-godot-4-6-dev-3/>4.6-dev3</a>. You can also review <a href=https://godotengine.github.io/godot-interactive-changelog/#4.6>all changes included in 4.6</a> compared to the previous <a href=/releases/4.5/>4.5 feature release</a>.<p>This release is built from commit <a href=https://github.com/godotengine/godot/commit/bd2ca13c6f3a5198eac035c855dcd1759e077313><code class="language-plaintext highlighter-rouge">bd2ca13c6</code></a>.<h2 id=downloads>Downloads</h2><div class="card card-download"><a class=card-download-link href=/download/archive/4.6-dev4>Download Godot 4.6 dev4</a><div class=card-download-details><img class=lightbox-ignore src=/storage/blog/covers/dev-snapshot-godot-4-6-dev-4.jpg><div class=card-download-platforms><div class="download-platform platform-linux"><img width=24 height=24 src=/assets/images/platforms/linux.svg title=Linux alt=Linux class=lightbox-ignore>
|
||
Linux</div><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=linux.x86_64.zip&platform=linux.64" class="btn btn-download btn-download-primary platform-linux"><div class=download-title>Standard</div></a><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=mono_linux_x86_64.zip&platform=linux.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-linux"><div class=download-title>.NET</div></a><div class="download-platform platform-macos"><img width=24 height=24 src=/assets/images/platforms/macos.svg title=macOS alt=macOS class=lightbox-ignore>
|
||
macOS</div><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=macos.universal.zip&platform=macos.universal" class="btn btn-download btn-download-primary platform-macos"><div class=download-title>Standard</div></a><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=mono_macos.universal.zip&platform=macos.universal" class="btn btn-download btn-download-primary btn-download-primary--mono platform-macos"><div class=download-title>.NET</div></a><div class="download-platform platform-windows"><img width=24 height=24 src=/assets/images/platforms/windows.svg title=Windows alt=Windows class=lightbox-ignore>
|
||
Windows</div><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=win64.exe.zip&platform=windows.64" class="btn btn-download btn-download-primary platform-windows"><div class=download-title>Standard</div></a><a href="https://downloads.godotengine.org/?version=4.6&flavor=dev4&slug=mono_win64.zip&platform=windows.64" class="btn btn-download btn-download-primary btn-download-primary--mono platform-windows"><div class=download-title>.NET</div></a></div></div><div class=card-download-sublinks><a class=card-download-other href=/download/archive/4.6-dev4>Export templates and other downloads
|
||
</a><a class=card-download-donate href=https://fund.godotengine.org/>Make a Donation</a></div></div><style>.thankyou-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(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%,.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{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}.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:0 0!important}@media(prefers-color-scheme:light){.btn-close-thankyou-popup img{filter:invert(1);opacity:.75}}</style><script>document.addEventListener("DOMContentLoaded",()=>{const e=document.getElementById("thank-you");e.addEventListener("click",t=>{t.target===e&&(e.style.display="none")});const t=document.querySelector(".btn-close-thankyou-popup");t.addEventListener("click",()=>{e.style.display="none"});const n=document.querySelectorAll(".btn-download, .download-button");n.forEach(t=>{if(t.dataset?.external==="yes")return;t.addEventListener("click",()=>{e.style.display="",document.querySelector(".btn.btn-donate").focus()})});const s=document.querySelectorAll(".download-link");s.forEach(t=>{t.addEventListener("click",()=>{e.style.display=""})}),document.addEventListener("keydown",t=>{t.key==="Escape"&&(e.style.display="none")})})</script><div class=thankyou-wrapper id=thank-you style=display:none><div class=thankyou><h2>Godot is downloading...</h2><p class=thankyou-donate>Godot exists thanks to donations from people like you. Help us continue our work:</p><a href=https://fund.godotengine.org class="btn btn-donate">Make a Donation</a><div class=btn-close-thankyou-popup><img src=/assets/icons/cross.svg width=24 height=24 alt="Close this popup" class=lightbox-ignore></div></div></div><p><strong>Standard build</strong> includes support for GDScript and GDExtension.<p><strong>.NET build</strong> (marked as <code class="language-plaintext highlighter-rouge">mono</code>) includes support for C#, as well as GDScript and GDExtension.<div class="card card-warning"><p>While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition <strong>a pre-release piece of software</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.</div><h2 id=known-issues>Known issues</h2><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 <a href="https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aopen+label%3Abug">known bugs</a>.<ul><li>The newly released <a href=https://learn.microsoft.com/en-us/visualstudio/releases/2026/release-notes>Visual Studio 2026</a> isn’t detected, instead falling back to VS2022/VS2019 <a href=https://github.com/godotengine/godot/issues/112675>GH-112675</a>. There already exist a couple of <a href=https://github.com/godotengine/godot/pull/110851>potential</a> <a href=https://github.com/godotengine/godot/pull/112677>solutions</a>, so this will likely be resolved next update.</ul><p>Additionally, SCons fails to detect/utilize Visual Studio 2026 when attempting a build. While not technically an engine issue, a number of contributors have expressed confusion over the lack of support, so it’s worth an explicit mention. This issue has since been <a href=https://github.com/SCons/scons/pull/4780>resolved upstream</a>, and will be incorporated in the next official release; anyone requiring the fix immediately should build SCons from the <a href=https://github.com/SCons/scons>source repository</a>.<h2 id=bug-reports>Bug reports</h2><p>As a tester, we encourage you to <a href=https://github.com/godotengine/godot/issues>open bug reports</a> if you experience issues with this release. Please check the <a href=https://github.com/godotengine/godot/issues>existing issues on GitHub</a> first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.<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).<h2 id=support>Support</h2><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 <a href=https://fund.godotengine.org/>generous donations from the Godot community</a>. A big thank you to everyone who has contributed <a href=https://github.com/godotengine/godot/blob/master/AUTHORS.md>their time</a> or <a href=https://github.com/godotengine/godot/blob/master/DONORS.md>their financial support</a> to the project!<p>If you’d like to support the project financially and help us secure our future hires, you can do so using the <a href=https://fund.godotengine.org/>Godot Development Fund</a> platform managed by <a href=https://godot.foundation/>Godot Foundation</a>. There are also several <a href=/donate>alternative ways to donate</a> which you may find more suitable.<p><a class=btn href=https://fund.godotengine.org/>Donate now</a></div></div></article><div class=blog-navigation><div class=previous><span>Previous</span>
|
||
<a rel=prev href=/article/dev-snapshot-godot-3-7-dev-1/>Dev snapshot: Godot 3.7 dev 1</a></div><div class=next><span>Next</span>
|
||
<a rel=next href=/article/announcing-android-xr-support/>Godot and W4 Games support Android XR from day One</a></div></div></div><link rel=stylesheet href=/assets/css/anchor-link.css?1><link rel=stylesheet href=/assets/css/article-cards.css?3><script src=/assets/js/anchor-link.js></script><script>document.addEventListener("DOMContentLoaded",()=>{window.applyAnchorLinks(".article-body"),document.querySelectorAll(".article-cover img, .article-body img").forEach(e=>{if(e.classList.contains("lightbox-ignore"))return;const t=document.createElement("a");t.href=e.src,t.classList.add("lightbox"),t.dataset.group="article",e.parentNode.appendChild(t),t.appendChild(e)})})</script></main><footer class=footer-global><div class=wrapper><div class=columns><div class=col><h2>Godot Engine</h2><ul><li><a class=set-os-download-url href=/download>Download</a><li><a href=https://docs.godotengine.org>Documentation</a><li><a href=/features/>Features</a><li><a href=https://editor.godotengine.org/releases/latest/>Web editor</a><li><a href=/download/archive/>Release archive</a><li><a href=https://github.com/godotengine>Source code</a></ul></div><div class=col><h2>Project</h2><ul><li><a href=/blog/>Blog</a><li><a href=/code-of-conduct/>Code of conduct</a><li><a href=/governance/>Governance</a><li><a href=/teams/>Teams</a><li><a href=/priorities/>Priorities</a><li><a href=/community/>Communities</a></ul></div><div class=col><h2>Resources</h2><ul><li><a href=https://godotengine.org/asset-library/asset>Asset library</a><li><a href=/press/>Press kit</a><li><a href=/showcase/>Showcase</a><li><a href=/education/>Education</a><li><a href=/consoles/>Console support</a></ul></div><div class=col><h2>Foundation</h2><ul><li><a href=https://godot.foundation/>About</a><li><a href=https://fund.godotengine.org>Donate</a><li><a href=/license/>License</a><li><a href=/privacy-policy/>Privacy policy</a><li><a href=/contact/>Contact us</a></ul></div></div><hr><div class=credits-and-socials><p>© 2007-2025 Juan Linietsky, Ariel Manzur and <a href=https://github.com/godotengine/godot/blob/master/AUTHORS.md target=_blank rel=noopener>contributors</a>. Hosted by the <a href=https://godot.foundation/ target=_blank rel=noopener>Godot Foundation</a>. Website <a href=https://github.com/godotengine/godot-website target=_blank rel=noopener>source code on GitHub</a>.<div class=social><a href=https://github.com/godotengine target=_blank rel=noopener title=GitHub><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6.0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6.0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3.0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1.0-6.2-.3-40.4-.3-61.4.0.0-70 15-84.7-29.8.0.0-11.4-29.1-27.8-36.6.0.0-22.9-15.7 1.6-15.4.0.0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5.0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9.0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4.0 33.7-.3 75.4-.3 83.6.0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6.0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9.0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
||
</a><a href=https://bsky.app/profile/godotengine.org target=_blank rel=noopener title=Bluesky><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M407.8 294.7c-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3 61.6-9.4 37.5-1.7 21.6 5.5 3.3 13.8.0 41.9.0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7 3.3-.5 6.6-.9 10-1.4-3.3.5-6.6 1-10 1.4-93.9 14-177.3 48.2-67.9 169.9C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4 102.4-103.4 28.1-156-65.8-169.9-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3 64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z"/></svg>
|
||
</a><a href=https://mastodon.gamedev.place/@godotengine target=_blank rel=noopener title=Mastodon><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5.0.0.0-63.7 28.5-63.7 125.7.0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54a102.5 102.5.0 01-.9-13.9c85.6 20.9 158.7 9.1 178.8 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5H201V197c0-58.5-64-56.6-64-6.9v114.2H90.2c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"/></svg>
|
||
</a><a href=https://discord.gg/godotengine target=_blank rel=noopener title=Discord><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M524.5 69.8a1.5 1.5.0 00-.8-.7A485.1 485.1.0 00404.1 32a1.8 1.8.0 00-1.9.9 337.5 337.5.0 00-14.9 30.6 447.8 447.8.0 00-134.4.0 309.5 309.5.0 00-15.1-30.6 1.9 1.9.0 00-1.9-.9A483.7 483.7.0 00116.1 69.1a1.7 1.7.0 00-.8.7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 00.8 1.4A487.7 487.7.0 00176 479.9a1.9 1.9.0 002.1-.7 348.2 348.2.0 0030-48.8 1.9 1.9.0 00-1-2.6 321.2 321.2.0 01-45.9-21.9 1.9 1.9.0 01-.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8.0 011.9-.3c96.2 43.9 200.4 43.9 295.5.0a1.8 1.8.0 011.9.2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9.0 01-.2 3.1 301.4 301.4.0 01-45.9 21.8 1.9 1.9.0 00-1 2.6 391.1 391.1.0 0030 48.8 1.9 1.9.0 002.1.7 486 486 0 00147.2-74.1 1.9 1.9.0 00.8-1.4c12.2-126.7-20.6-236.8-87-334.5zm-302 267.8c-29 0-52.8-26.6-52.8-59.2s23.4-59.3 52.8-59.3c29.7.0 53.3 26.8 52.8 59.2.0 32.7-23.4 59.3-52.8 59.3zm195.4.0c-29 0-52.8-26.6-52.8-59.2s23.3-59.3 52.8-59.3c29.7.0 53.3 26.8 52.8 59.2.0 32.7-23.2 59.3-52.8 59.3z"/></svg>
|
||
</a><a href=https://www.reddit.com/r/godot title=Reddit target=_blank rel=noopener><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 256C0 114.6 114.6.0 256 0S512 114.6 512 256 397.4 512 256 512H37.1c-13.7.0-20.5-16.5-10.9-26.2L75 437C28.7 390.7.0 326.7.0 256zM349.6 153.6c23.6.0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6.0-37.8 14.6-41.8 34-34.5 3.7-61.4 33-61.4 68.4v.2c-37.5 1.6-71.8 12.3-99 29.1-10.1-7.8-22.8-12.5-36.5-12.5-33 0-59.8 26.8-59.8 59.8.0 24 14.1 44.6 34.4 54.1 2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54 0-33-26.8-59.8-59.8-59.8-13.7.0-26.3 4.6-36.4 12.4-27.4-17-62.1-27.7-1e2-29.1v-.2c0-25.4 18.9-46.5 43.4-49.9 4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7.0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6-31.4-8.8-30.4-30.5S160.3 247 177 247zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9.8-6.2 3.9-6.5 18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1.3 5.1 3.6 3.9 6.5z"/></svg>
|
||
</a><a href=/rss.xml title=RSS target=_blank rel=noopener><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M64 32C28.7 32 0 60.7.0 96V416c0 35.3 28.7 64 64 64h320c35.3.0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24 137 0 248 111 248 248 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-2e2-2e2-2e2-13.3.0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24 83.9.0 152 68.1 152 152 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104-13.3.0-24-10.7-24-24zm0 120a32 32 0 1164 0 32 32 0 11-64 0z"/></svg></a></div></div></div></footer><script defer src=/assets/js/localize.js?7></script><script defer src=/assets/js/tobii.min.js></script><script defer src=/assets/js/highlight.min.js?1></script><script defer src=/assets/js/highlight.gdscript.min.js?1></script><script>document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll("pre:not(.manual) code").forEach(e=>{hljs.highlightBlock(e)}),document.querySelectorAll("[data-post-date]").forEach(e=>{Date.parse(e.dataset.postDate)>Date.now()-1e3*60*60*48&&e.classList.add("post-recent-highlight")}),new Tobii({zoom:!1});const e=document.querySelectorAll(".set-os-download-url");for(let n=0;n<e.length;n++){const s=e[n];let o="download";"version"in s.dataset&&s.dataset.version==="3"&&(o="download/3.x");let t="windows";navigator.platform.indexOf("Mac")!==-1?t="macos":navigator.userAgent.indexOf("Android")!==-1?t="android":navigator.platform.indexOf("Linux")!==-1&&(t="linux"),s.href=`/${o}/${t}/`}})</script> |