mirror of
https://github.com/godotengine/godot-website.git
synced 2026-01-04 06:09:55 +03:00
17 lines
37 KiB
HTML
17 lines
37 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="Penultimate 4.2 dev snapshot brings improvements to Android plugin API, the Tilemap editor, and, well, practically everything else — making it ready for beta testing next month."><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-2-dev-5/"><meta property="og:type" content="website"><meta property="og:description" content="Penultimate 4.2 dev snapshot brings improvements to Android plugin API, the Tilemap editor, and, well, practically everything else — making it ready for beta testing next month."><meta property="og:image" content="https://godotengine.org/storage/blog/covers/dev-snapshot-godot-4-2-dev-5.webp"><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-2-dev-5/"><meta property="og:title" content="Dev snapshot: Godot 4.2 dev 5 – Godot Engine"><title>Dev snapshot: Godot 4.2 dev 5 – 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 class=mobile-only><a href=/consoles/>Console support</a><li class=mobile-only><a href=/priorities/>Priorities</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></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>
|
||
<a href=/priorities/>Priorities</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>Starter Kit 3D Platformer</strong>
|
||
<span style=margin-left:.75rem;font-size:90%>A template project by Kenney</span></figcaption><img src=/storage/blog/covers/dev-snapshot-godot-4-2-dev-5.webp title="Starter Kit 3D Platformer" alt="Starter Kit 3D Platformer A template project by Kenney" class=rounded-lg style=width:100%;height:auto;background-color:initial></figure><div class=article-info><h1>Dev snapshot: Godot 4.2 dev 5</h1><div class=article-metadata><div class=article-author><span>By: </span><img class=avatar width=25 height=25 src=/assets/images/authors/yuri.jpeg alt="Yuri Sizov" loading=lazy>
|
||
<span class=by>Yuri Sizov</span></div><span class=date data-post-date="2023-09-19 10:00:00 +0000">19 September 2023</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>We are entering the final stretch of the feature development for this dev cycle. There is probably one more Godot 4.2 dev snapshot left before the project enters the feature freeze and all efforts turn towards fixing remaining bugs and stabilizing the release. In the <a href=/article/dev-snapshot-godot-4-2-dev-1>past 2 months</a> contributors have been shaping what Godot 4.2 is going to be, and we will soon pass the mark of <a href=https://godotengine.github.io/godot-interactive-changelog/#4.2>1000 changes</a>.<p>A significant part of this snapshot contains changes aimed at improving the user experience throughout the editor. We are also introducing a new version of the Godot Android plugin API. As always, many bugs and crashes have been squashed and other issues resolved. Here’s a short highlights section, ahead of a more complete list <a href=#whats-new>below</a>:<ul><li><p>The 3D viewport received a de-cluttering and will now display auxiliary visual information only for selected objects (<a href=https://github.com/godotengine/godot/pull/75303>GH-75303</a>). At the same time elements like decals and fog volumes now have extra indicators which make them easier to select via the viewport (<a href=https://github.com/godotengine/godot/pull/81554>GH-81554</a>). Various parts of the inspector and signal docks were enhanced with documentation tooltips and related bugfixes (<a href=https://github.com/godotengine/godot/pull/81221>GH-81221</a>). Code region support was added to the code editor, allowing you to define parts of the script to fold them and help with navigation within longer scripts (<a href=https://github.com/godotengine/godot/pull/74843>GH-74843</a>). And if you are working on editor plugins, you can now preview the current editor theme on your GUI elements directly in the 2D viewport (<a href=https://github.com/godotengine/godot/pull/81130>GH-81130</a>).<li><p>Two very important issues related to tilemaps and the tilemap editor were addressed for this release. You can now flip and rotate tiles and entire tile patterns when placing them in the world (<a href=https://github.com/godotengine/godot/pull/80144>GH-80144</a>). A significant boost to performance, thanks to smart tile grouping and other optimizations, should make larger tilemaps considerably less laggy (<a href=https://github.com/godotengine/godot/pull/81070>GH-81070</a>).<li><p>Godot aims to be as version-control-friendly as possible, and contributors are well aware of several issues related to sporadic resource ID changes. In this snapshot we’re shipping one of the fixes that aims to address the issue (<a href=https://github.com/godotengine/godot/pull/65011>GH-65011</a>). Related to this, multiple problems with renamed and moved files causing crashes and scene corruption have been fixed (<a href=https://github.com/godotengine/godot/pull/80503>GH-80503</a>, <a href=https://github.com/godotengine/godot/pull/81657>GH-81657</a>).<li><p>A new version of the Godot Android plugin framework is introduced in this release (<a href=https://github.com/godotengine/godot/pull/80740>GH-80740</a>, <a href=https://github.com/godotengine/godot/pull/81368>GH-81368</a>). Please make sure to test these changes and provide feedback to our Android platform maintainers who want to ensure a smooth migration process. You can refer to <a href=https://github.com/godotengine/godot-docs/pull/7884>this draft documentation PR</a> for more information about the changes and new requirements.<li><p>Speaking of Android, this release adds Android Stylus pressure and tilt support (<a href=https://github.com/godotengine/godot/pull/80644>GH-80644</a>). This complements Apple Pencil support added in Godot 4.0.<li><p>If you’re relying on <code class="language-plaintext highlighter-rouge">GraphEdit</code> in your games and tools, you will be happy to know that this snapshot concludes the main part of the refactoring of the node (<a href=https://github.com/godotengine/godot/pull/79307>GH-79307</a>, <a href=https://github.com/godotengine/godot/pull/79308>GH-79308</a>, <a href=https://github.com/godotengine/godot/pull/79311>GH-79311</a>). Please make sure to give it a test and see if everything is working as expected. For the time being the comment node feature has been removed — to be reintroduced later as a dedicated node with improved behavior together with other nodes. Until the feature freeze there may still be smaller compatibility breaking changes, so make sure to read future release notes.</ul><p>Keep in mind that while we try to make sure each dev snapshot is stable enough for general testing, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.<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 <a href=https://editor.godotengine.org/releases/4.2.dev5/>try the <strong>Web editor</strong></a> or the <strong>Android editor</strong> 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 illustration picture for this article is taken from</em> <a href=https://github.com/KenneyNL/Starter-Kit-3D-Platformer><strong>Starter Kit 3D Platformer</strong></a>, <em>a template project made by <a href=https://kenney.nl/>Kenney</a> for Godot 4. Kenney is a one-man powerhouse producing game assets, tools, and template projects like this one, and sharing them for free. Kenney’s assets come in all popular formats, so even if something is not made for Godot specifically you can still import it and kickstart your fun gamedev adventure by focusing on the gameplay and what makes your game interesting and unique! You can follow Kenney on social networks (<a href=https://twitter.com/KenneyNL>Twitter</a>, <a href=https://mastodon.gamedev.place/@kenney>Mastodon</a>) to get updates on and help shape new asset packs. And please consider <a href=https://kenney.nl/donate>sponsoring his work</a> which benefits everyone in the gamedev community!</em><h2 id=whats-new>What’s new</h2><p><strong>68 contributors</strong> submitted almost <strong>200 improvements</strong> for this release. You can review the complete list of changes with our <a href=https://godotengine.github.io/godot-interactive-changelog/#4.2-dev5>interactive changelog</a>, which contains links to relevant commits and PRs for this and every previous release. Below are the most notable changes compared to 4.2-dev4:<ul><li>2D: Add per-tile flipping and transposing (<a href=https://github.com/godotengine/godot/pull/80144>GH-80144</a>).<li>2D: Improve TileMap performances by using quadrants only for rendering (<a href=https://github.com/godotengine/godot/pull/81070>GH-81070</a>).<li>2D: Allow configuring primary guide line X/Ys separately (<a href=https://github.com/godotengine/godot/pull/81255>GH-81255</a>).<li>3D: Show visual-oriented 3D node gizmos only when selected (<a href=https://github.com/godotengine/godot/pull/75303>GH-75303</a>).<li>3D: Add helper for 3D gizmos and unify box (<a href=https://github.com/godotengine/godot/pull/80278>GH-80278</a>).<li>3D: GridMap: Ensure the visibility is updated when entering the tree (<a href=https://github.com/godotengine/godot/pull/81106>GH-81106</a>).<li>3D: Fix some keys triggering their actions twice in GridMap (<a href=https://github.com/godotengine/godot/pull/81531>GH-81531</a>).<li>3D: Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume (<a href=https://github.com/godotengine/godot/pull/81554>GH-81554</a>).<li>Animation: Fix animation keyframes being skipped when played backwards (<a href=https://github.com/godotengine/godot/pull/81452>GH-81452</a>).<li>Animation: Remove animation tracks with correct indices (<a href=https://github.com/godotengine/godot/pull/81651>GH-81651</a>).<li>AssetLib: Improve handling of archives when installing assets (<a href=https://github.com/godotengine/godot/pull/81358>GH-81358</a>).<li>Audio: Add a <code class="language-plaintext highlighter-rouge">bus_renamed</code> AudioServer signal (<a href=https://github.com/godotengine/godot/pull/81641>GH-81641</a>).<li>Buildsystem: Fix build options configuration for Visual Studio projects (<a href=https://github.com/godotengine/godot/pull/79238>GH-79238</a>).<li>Buildsystem: Web: Workaround Emscripten 3.1.42+ LTO regression (<a href=https://github.com/godotengine/godot/pull/81340>GH-81340</a>).<li>Buildsystem: Remove UWP and Haiku platform ports (<a href=https://github.com/godotengine/godot/pull/81416>GH-81416</a>, <a href=https://github.com/godotengine/godot/pull/81420>GH-81420</a>).<li>C#: Include argument types in generated methods (<a href=https://github.com/godotengine/godot/pull/80629>GH-80629</a>).<li>C#: Hide hostfxr not found error (<a href=https://github.com/godotengine/godot/pull/81690>GH-81690</a>).<li>Core: Fix behavior of resource properties in the sub-scene root node (<a href=https://github.com/godotengine/godot/pull/65011>GH-65011</a>).<li>Core: Deprecate <code class="language-plaintext highlighter-rouge">Resource.setup_local_to_scene</code> (<a href=https://github.com/godotengine/godot/pull/67082>GH-67082</a>).<li>Core: Add a type conversion method to Variant Utility and expose to scripting (<a href=https://github.com/godotengine/godot/pull/70080>GH-70080</a>).<li>Core: Ensure binds are duplicated with <code class="language-plaintext highlighter-rouge">Node</code> signals (<a href=https://github.com/godotengine/godot/pull/75382>GH-75382</a>).<li>Core: Add inverse hyperbolic functions <code class="language-plaintext highlighter-rouge">asinh()</code>, <code class="language-plaintext highlighter-rouge">acosh()</code>, <code class="language-plaintext highlighter-rouge">atanh()</code> (<a href=https://github.com/godotengine/godot/pull/78404>GH-78404</a>, <a href=https://github.com/godotengine/godot/pull/81229>GH-81229</a>).<li>Core: String: Fix string conversion for -0.0 float values (<a href=https://github.com/godotengine/godot/pull/81328>GH-81328</a>).<li>Editor: Improve signal callback generation (<a href=https://github.com/godotengine/godot/pull/79366>GH-79366</a>).<li>Editor: Prevent crashes and scene corruption when files are renamed or moved (<a href=https://github.com/godotengine/godot/pull/80503>GH-80503</a>, <a href=https://github.com/godotengine/godot/pull/81657>GH-81657</a>).<li>Editor: Prevent creating any type of file with a leading dot (<a href=https://github.com/godotengine/godot/pull/81075>GH-81075</a>).<li>Editor: Use <code class="language-plaintext highlighter-rouge">ui_text_submit</code> instead of <code class="language-plaintext highlighter-rouge">ui_accept</code> to confirm and close text prompts (<a href=https://github.com/godotengine/godot/pull/81189>GH-81189</a>).<li>Editor: Inspector and Signal docks improvements (<a href=https://github.com/godotengine/godot/pull/81221>GH-81221</a>).<li>Editor: Add XML files to default TextFile extensions in the editor (<a href=https://github.com/godotengine/godot/pull/81625>GH-81625</a>).<li>GDExtension: Allow GDExtension to register unexposed classes (<a href=https://github.com/godotengine/godot/pull/70329>GH-70329</a>).<li>GDExtension: Make <code class="language-plaintext highlighter-rouge">PtrToArg::convert()</code> use const-reference where possible (<a href=https://github.com/godotengine/godot/pull/80075>GH-80075</a>).<li>GDExtension: Allow implementing <code class="language-plaintext highlighter-rouge">validate_property()</code> from extension classes and scripts (<a href=https://github.com/godotengine/godot/pull/81261>GH-81261</a>, <a href=https://github.com/godotengine/godot/pull/81515>GH-81515</a>).<li>GDScript: Add code region folding to CodeEdit (<a href=https://github.com/godotengine/godot/pull/74843>GH-74843</a>).<li>GDScript: Language Server: Improve hovered symbol resolution, fix renaming bugs, implement reference lookup (<a href=https://github.com/godotengine/godot/pull/80973>GH-80973</a>).<li>GDScript: Fix subclass methods not inheriting RPC info (<a href=https://github.com/godotengine/godot/pull/81201>GH-81201</a>).<li>GDScript: Add an optional <code class="language-plaintext highlighter-rouge">untyped_declaration</code> warning (<a href=https://github.com/godotengine/godot/pull/81355>GH-81355</a>).<li>GDScript: Fix various lambda bugs (<a href=https://github.com/godotengine/godot/pull/81605>GH-81605</a>).<li>GDScript: Fix POT generator crash on assignee with index (<a href=https://github.com/godotengine/godot/pull/81653>GH-81653</a>).<li>GUI: Add <code class="language-plaintext highlighter-rouge">closed</code> property to Line2D (<a href=https://github.com/godotengine/godot/pull/79182>GH-79182</a>).<li>GUI: Clean up/refactor GraphNode and make it more flexible (<a href=https://github.com/godotengine/godot/pull/79311>GH-79311</a>).<li>GUI: Deselect multi caret when alt clicking on it (<a href=https://github.com/godotengine/godot/pull/80956>GH-80956</a>).<li>GUI: Implement a system to contextualize global themes (<a href=https://github.com/godotengine/godot/pull/81130>GH-81130</a>).<li>GUI: Update and properly list versions of the built-in fonts (<a href=https://github.com/godotengine/godot/pull/81326>GH-81326</a>).<li>Import: GLTF: Allow specifying export image format including from extensions (<a href=https://github.com/godotengine/godot/pull/79314>GH-79314</a>).<li>Import: Fix doubly-reserved unique names in GLTF scene name assignment (<a href=https://github.com/godotengine/godot/pull/80270>GH-80270</a>).<li>Import: GLTF: Change “Camera3D” generated node name to “Camera” (<a href=https://github.com/godotengine/godot/pull/81264>GH-81264</a>).<li>Input: Android Stylus pressure and tilt support (<a href=https://github.com/godotengine/godot/pull/80644>GH-80644</a>).<li>Input: Fix Android input routing logic when using a hardware keyboard (<a href=https://github.com/godotengine/godot/pull/80932>GH-80932</a>).<li>Input: Prevent axis-based actions from getting stuck (<a href=https://github.com/godotengine/godot/pull/81170>GH-81170</a>).<li>Particles: Fix z-billboard + y to velocity transform alignment to correctly respect non-uniform scale (<a href=https://github.com/godotengine/godot/pull/81315>GH-81315</a>).<li>Physics: Expose the <code class="language-plaintext highlighter-rouge">get_rid</code> method of Joint2D and Joint3D (<a href=https://github.com/godotengine/godot/pull/80736>GH-80736</a>).<li>Porting: Android: Godot Android plugin re-architecture (<a href=https://github.com/godotengine/godot/pull/80740>GH-80740</a>, <a href=https://github.com/godotengine/godot/pull/81368>GH-81368</a>).<li>Porting: Android: Change the default “org.godotengine” package name to “com.example” (<a href=https://github.com/godotengine/godot/pull/80761>GH-80761</a>).<li>Porting: iOS: Switch export target extension based on export type (<a href=https://github.com/godotengine/godot/pull/81365>GH-81365</a>).<li>Porting: macOS: Fix live resize with the latest MoltenVK version (<a href=https://github.com/godotengine/godot/pull/81339>GH-81339</a>).<li>Porting: Fix MSVC ARM build after mbedtls 2.28.3 enabled AES-NI intrinsics (<a href=https://github.com/godotengine/godot/pull/81405>GH-81405</a>).<li>Rendering: Enhance Vulkan PSO caching (<a href=https://github.com/godotengine/godot/pull/80296>GH-80296</a>).<li>Rendering: Implement render mode <code class="language-plaintext highlighter-rouge">fog_disabled</code> and BaseMaterial3D setting “Disable Fog” (<a href=https://github.com/godotengine/godot/pull/81286>GH-81286</a>).<li>Rendering: Fix clear color’s alpha value will affects 2D editor in Compatibility mode (<a href=https://github.com/godotengine/godot/pull/81395>GH-81395</a>).<li>Rendering: Improve GLES3 scene renderer compatibility with older devices (<a href=https://github.com/godotengine/godot/pull/81650>GH-81650</a>).<li>Rendering: Fix validation error when using pipeline cache control (<a href=https://github.com/godotengine/godot/pull/81771>GH-81771</a>).<li>XR: Expose OpenXR raw hand tracking data (<a href=https://github.com/godotengine/godot/pull/78032>GH-78032</a>).<li>XR: Add XR tracking state-change signals (<a href=https://github.com/godotengine/godot/pull/81239>GH-81239</a>).<li>XR: Fix issue with OpenXR environment blend mode not being applied properly (<a href=https://github.com/godotengine/godot/pull/81561>GH-81561</a>).<li>Thirdparty: HarfBuzz 8.1.1, libwebp 1.3.2, zlib/minizip 1.3</ul><p>This release is built from commit <a href=https://github.com/godotengine/godot/commit/e3e2528ba7f6e85ac167d687dd6312b35f558591><code class="language-plaintext highlighter-rouge">e3e2528ba</code></a> (see <a href=https://github.com/godotengine/godot-builds/releases/download/4.2-dev5/README.txt>README</a>).<h2 id=downloads>Downloads</h2><p>The downloads for this pre-release build can be found in our GitHub repository:<ul><li><a href=https://github.com/godotengine/godot-builds/releases/tag/4.2-dev5><strong>Download Godot 4.2 dev 5</strong></a>.</ul><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.<ul><li>.NET build requires <a href=https://dotnet.microsoft.com/en-us/download/dotnet/6.0>.NET SDK 6.0</a> or <a href=https://dotnet.microsoft.com/en-us/download/dotnet/7.0>7.0</a> installed in a standard location. To export to Android, .NET 7.0 is required, and should be set as the target framework in the <code class="language-plaintext highlighter-rouge">.csproj</code> file. .NET 8.0 is not supported yet.</ul><h2 id=known-issues>Known issues</h2><p>There are currently no known issues introduced by this release.<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>.<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 4.2 dev 5).<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 or 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.</div></div></article><div class=blog-navigation><div class=previous><span>Previous</span>
|
||
<a rel=prev href=/article/godot-developer-fund/>Introducing the new Godot Development Fund</a></div><div class=next><span>Next</span>
|
||
<a rel=next href=/article/release-candidate-godot-4-1-2-rc-1/>Release candidate: Godot 4.1.2 RC 1</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-2026 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> |