Files
godot-website/blog/progress-report/4/index.html
2025-06-23 09:37:05 +00:00

49 lines
36 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!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="Develop your 2D & 3D games, cross-platform projects, or even XR ideas!"><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/blog/progress-report/4/index.html"><meta property="og:type" content="website"><meta property="og:description" content="Develop your 2D & 3D games, cross-platform projects, or even XR ideas!"><meta property="og:image" content="https://godotengine.org/assets/share-image.webp"><meta name=twitter:card content="summary_large_image"><meta property="twitter:domain" content="godotengine.org"><meta property="twitter:url" content="https://godotengine.org/blog/progress-report/4/index.html"><meta property="og:title" content="Blog - Progress Report - Page 4 Godot Engine"><title>Blog - Progress Report - Page 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?2><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/>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://docs.godotengine.org/en/stable/contributing/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><script>document.addEventListener("DOMContentLoaded",function(){const e="ontouchstart"in window||navigator.maxTouchPoints>0,t=document.querySelectorAll("[data-dropdown]");t.forEach(t=>{const i=t.getAttribute("data-dropdown"),n=document.getElementById(i);if(n){let i;function s(){if(window.innerWidth<1200)return;clearTimeout(i);const e=t.getBoundingClientRect();n.style.top=e.bottom+"px",n.style.left=e.left+"px",n.style.display="block",t.classList.add("dropdown-open")}function o(){i=setTimeout(()=>{n.style.display="none",t.classList.remove("dropdown-open")},100)}function a(e){if(window.innerWidth<1200)return;e.preventDefault();const o=n.style.display==="block";o?(n.style.display="none",t.classList.remove("dropdown-open")):s()}e?t.addEventListener("click",a):(t.addEventListener("mouseenter",s),t.addEventListener("mouseleave",o),n.addEventListener("mouseenter",()=>clearTimeout(i)),n.addEventListener("mouseleave",o))}}),e&&document.addEventListener("click",function(e){t.forEach(t=>{const s=t.getAttribute("data-dropdown"),n=document.getElementById(s);n&&!t.contains(e.target)&&!n.contains(e.target)&&(n.style.display="none",t.classList.remove("dropdown-open"))})})})</script><main><style>.posts{display:grid;grid-template-columns:1fr;gap:30px}@media(min-width:768px){.posts{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.posts{grid-template-columns:1fr 1fr 1fr}}.head .main{display:grid;gap:30px;padding:20px 0 39px}.head .main>:last-child,.head .main>:first-child{margin:0}@media(min-width:902px){.head .main{height:120px;grid-template-columns:1fr 1fr;align-content:center;padding:0}.head .main .search-bar{margin-top:6px;justify-self:end}}.tags{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tags h3{margin-top:1rem;display:inline-block;margin:0;font-size:19px}</style><div class=head><div class="container flex eqsize responsive"><div class=main><h1 class=intro-title>Blog</h1><form class=search-bar action=https://duckduckgo.com/><input type=hidden name=sites value=godotengine.org/article>
<input name=q maxlength=300 placeholder="Search articles">
<button class="btn search-bar-btn">
<img width=24 height=24 src=/assets/icons/search.svg alt=search title=search></button></form></div></div></div><div class=container><div class=tags><h3>Categories</h3><a href=/blog/ title="Show all categories"><div class="tag tag--default">All</div></a><a href=/blog/news title="General news that don't fit in other categories."><div class="tag tag--">News</div></a><a href=/blog/progress-report title="Progress report about a specific engine subsystem in Godot."><div class="tag tag-- active">Progress Report</div></a><a href=/blog/events title="Physical and online Godot-related event announcements."><div class="tag tag--">Events</div></a><a href=/blog/release title="Godot stable release announcements. See Pre-release category for alphas, betas and release candidates."><div class="tag tag--">Release</div></a><a href=/blog/pre-release title="Godot pre-release announcement (alpha, beta or release candidate)."><div class="tag tag--">Pre-release</div></a><a href=/blog/showcase title="Showreel video postings and showcase interviews. Showreel-related announcements are in the News category."><div class="tag tag--">Showcase</div></a></div><h3 style=margin-top:1rem>Filtered by: Progress Report</h3><div class="flex pagination"><a class=pagination-previous href=https://godotengine.org/blog/progress-report/3/>← Previous</a>
<a title="Blog - Progress Report - Page 2" href=https://godotengine.org/blog/progress-report/2/>2</a>
<a title="Blog - Progress Report - Page 3" href=https://godotengine.org/blog/progress-report/3/>3</a>
<a class=active title="Blog - Progress Report - Page 4" href=https://godotengine.org/blog/progress-report/4/>4</a>
<a title="Blog - Progress Report - Page 5" href=https://godotengine.org/blog/progress-report/5/>5</a>
<a title="Blog - Progress Report - Page 6" href=https://godotengine.org/blog/progress-report/6/>6</a>
<a class=pagination-next href=https://godotengine.org/blog/progress-report/5/>Next →</a></div><div class=posts><a href=/article/godot-web-progress-report-2/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5f4/8d5/175/5f48d51759192009283012.png) href=/article/godot-web-progress-report-2/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/faless.webp alt="Fabio Alessandrelli" loading=lazy>
<span class=by>Fabio Alessandrelli </span><span class=date>&nbsp;-&nbsp;28 August 2020</span></div><h3>Godot web export progress report #2</h3><p class=excerpt>Godot is getting better export for the Web. While web technologies are not always suited to provide bleeding edge experiences, we do our best to let you exported game run as smoothly as possible on every platform.</div></article></a><a href=/article/gdscript-progress-report-new-gdscript-now-merged/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5f2/966/b6d/5f2966b6dca1a217164497.png) href=/article/gdscript-progress-report-new-gdscript-now-merged/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/vnen.webp alt="George Marques" loading=lazy>
<span class=by>George Marques </span><span class=date>&nbsp;-&nbsp; 4 August 2020</span></div><h3>GDScript progress report: New GDScript is now merged</h3><p class=excerpt>New GDScript code is now merged. Here I talk a bit of what has changed, report what else I did this month and talk a bit about my current work and plans for the future.</div></article></a><a href=/article/gsoc-2020-progress-report-1/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5f2/1bb/011/5f21bb0114081243850484.png) href=/article/gsoc-2020-progress-report-1/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/akien.webp alt="Rémi Verschelde" loading=lazy>
<span class=by>Rémi Verschelde </span><span class=date>&nbsp;-&nbsp;29 July 2020</span></div><h3>GSoC 2020 - Progress report #1</h3><p class=excerpt>Godot is participating again in the Google Summer of Code program for its 2020 edition. 6 projects have been selected back in May, and the 6 students and their mentors have now been working on their projects for close to two months. We omitted to announce the projects formally, but this first progress report written by each student will make up for it by giving a direct glimpse into their work.</div></article></a><a href=/article/gdscript-progress-report-type-checking-back/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5f0/390/8aa/5f03908aa71d6900240172.png) href=/article/gdscript-progress-report-type-checking-back/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/vnen.webp alt="George Marques" loading=lazy>
<span class=by>George Marques </span><span class=date>&nbsp;-&nbsp; 6 July 2020</span></div><h3>GDScript progress report: Type checking is back</h3><p class=excerpt>Report on the new GDScript code featuring the new type checking, warnings, code completion and a few more details.</div></article></a><a href=/article/csharp-vs-and-vscode/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ef/e2d/10d/5efe2d10d53f8199324952.png) href=/article/csharp-vs-and-vscode/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/ignacio.webp alt="Ignacio Roldán Etcheverry" loading=lazy>
<span class=by>Ignacio Roldán Etcheverry </span><span class=date>&nbsp;-&nbsp; 3 July 2020</span></div><h3>C# progress report: Visual Studio and VSCode</h3><p class=excerpt>Godot is getting extensions for Visual Studio and Visual Studio Code, including debugging support and code completion of Godot strings.</div></article></a><a href=/article/godot-40-gets-sdf-based-real-time-global-illumination/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ef/899/c76/5ef899c76e7ce588705275.jpeg) href=/article/godot-40-gets-sdf-based-real-time-global-illumination/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;28 June 2020</span></div><h3>Godot 4.0 gets SDF based real-time global illumination</h3><p class=excerpt>As work progresses on Godot 4.0 at a steady pace, a novel method of creating full-scene global illumination has been added in the master branch.</div></article></a><a href=/article/godot-core-budget-meeting-report-1/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ee/105/a49/5ee105a49ffe5297659537.png) href=/article/godot-core-budget-meeting-report-1/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;11 June 2020</span></div><h3>Godot core budget meeting report #1</h3><p class=excerpt>The funding situation of Godot has been changing for the past months, as we received more grants and donations, and reorganizing where the funding is going, deciding hires, etc. takes considerable time as well as the right timing.</div></article></a><a href=/article/gdscript-progress-report-writing-new-parser/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ed/43c/e24/5ed43ce245f10218039510.png) href=/article/gdscript-progress-report-writing-new-parser/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/vnen.webp alt="George Marques" loading=lazy>
<span class=by>George Marques </span><span class=date>&nbsp;-&nbsp; 1 June 2020</span></div><h3>GDScript progress report: Writing a new parser</h3><p class=excerpt>Showing the work for the new GDScript parser, why it is done and how it improves over the old one. Also show a bit of new features.</div></article></a><a href=/article/godot-40-will-get-new-modernized-lightmapper/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5eb/70d/c27/5eb70dc27e632736391193.png) href=/article/godot-40-will-get-new-modernized-lightmapper/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 9 May 2020</span></div><h3>Godot 4.0 will get a new, modernized lightmapper</h3><p class=excerpt>In most game engines, a lightmap is baked for a whole scene and there is only one of it at the same time. In Godot, different scenes can have their own lightmaps and you can mix and match them however you like.</div></article></a><a href=/article/gdscript-progress-report-writing-tokenizer/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5eb/018/a65/5eb018a659a8f843228718.png) href=/article/gdscript-progress-report-writing-tokenizer/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/vnen.webp alt="George Marques" loading=lazy>
<span class=by>George Marques </span><span class=date>&nbsp;-&nbsp; 4 May 2020</span></div><h3>GDScript progress report: Writing a tokenizer</h3><p class=excerpt>GDScript is being rewritten. In this article we talk about the new tokenizer—the first step in the compilation process.</div></article></a><a href=/article/vulkan-progress-report-7/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ea/ca9/b28/5eaca9b28e21f592433351.jpeg) href=/article/vulkan-progress-report-7/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 1 May 2020</span></div><h3>Vulkan progress report #7</h3><p class=excerpt>It's been three months since a Vulkan progress report! I know you guys missed them, so I made sure to work extra hard to have something nice to make up. It feels great to be back to doing graphics programming after two months refactoring the core engine.</div></article></a><a href=/article/godot-40-gets-global-and-instance-shader-uniforms/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e9/927/545/5e9927545d809505894099.png) href=/article/godot-40-gets-global-and-instance-shader-uniforms/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;17 April 2020</span></div><h3>Godot 4.0 gets global and per-instance shader uniforms</h3><p class=excerpt>Work towards the complete 4.0 feature set continues at a vibrant pace (Stay tuned for the progress report at the end of the month!). Today I will discuss a new feature that most likely takes a bit more time to understand than just looking at an image.</div></article></a><a href=/article/gles2-renderer-optimization-2d-batching/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e8/e58/0c6/5e8e580c63d1e981395802.png) href=/article/gles2-renderer-optimization-2d-batching/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/lawnjelly.webp alt=lawnjelly loading=lazy>
<span class=by>lawnjelly </span><span class=date>&nbsp;-&nbsp; 9 April 2020</span></div><h3>GLES2 renderer optimization - 2D batching</h3><p class=excerpt>While Juan's work on the Vulkan rendering backend is ongoing in the master branch, the rest of the rendering team have not been idle. They have been working on many bug fixes and some improvements to the OpenGL rendering in the 3.x branch, and one of the most awaited is the addition of batching of 2D primitives in the GLES2 renderer, which should significantly increase performance in a lot of 2D games.</div></article></a><a href=/article/csharp-ios-signals-events/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e8/92c/7b8/5e892c7b82886061410800.png) href=/article/csharp-ios-signals-events/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/ignacio.webp alt="Ignacio Roldán Etcheverry" loading=lazy>
<span class=by>Ignacio Roldán Etcheverry </span><span class=date>&nbsp;-&nbsp; 6 April 2020</span></div><h3>C# progress report: iOS and signals as events</h3><p class=excerpt>Godot is getting iOS support for C# games. There is also a new system for using Godot signals as C# events.</div></article></a><a href=/article/core-refactoring-progress-report-2/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e7/f74/307/5e7f74307ce34896455561.jpeg) href=/article/core-refactoring-progress-report-2/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;28 March 2020</span></div><h3>Core refactoring progress report #2</h3><p class=excerpt>As promised in my previous post, the core refactoring work I am undertaking took two months to complete. This means rewriting large parts of the core engine for consistency and features.</div></article></a><a href=/article/custom-sky-shaders-godot-4-0/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e7/7f2/a75/5e77f2a75cf79778591830.png) href=/article/custom-sky-shaders-godot-4-0/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/clayjohn.jpg alt="Clay John" loading=lazy>
<span class=by>Clay John </span><span class=date>&nbsp;-&nbsp;23 March 2020</span></div><h3>Custom sky shaders in Godot 4.0</h3><p class=excerpt></div></article></a><a href=/article/core-refactoring-progress-report-1/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e5/a98/38e/5e5a9838e6a8b964298813.png) href=/article/core-refactoring-progress-report-1/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;29 February 2020</span></div><h3>Core refactoring progress report #1</h3><p class=excerpt>Expecting a Vulkan progress report? Not this month! As Godot 3.2 was released by the end of January, February was purely dedicated to do large core refactoring in preparation for Godot 4.0. This is required to unblock other contributors and their areas.</div></article></a><a href=/article/enet-dtls-encryption/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e5/166/6a0/5e51666a0d8b2890019310.png) href=/article/enet-dtls-encryption/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/faless.webp alt="Fabio Alessandrelli" loading=lazy>
<span class=by>Fabio Alessandrelli </span><span class=date>&nbsp;-&nbsp;25 February 2020</span></div><h3>ENet with DTLS encryption in 4.0</h3><p class=excerpt>Easy ENet high-level-multiplayer encryption via DTLS is coming in Godot 4.0.</div></article></a><a href=/article/navigation-server-godot-4-0/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e4/941/218/5e494121885db845075999.png) href=/article/navigation-server-godot-4-0/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt="Andrea Catania" loading=lazy>
<span class=by>Andrea Catania </span><span class=date>&nbsp;-&nbsp;19 February 2020</span></div><h3>Navigation Server for Godot 4.0</h3><p class=excerpt>Feature work has started for the upcoming Godot 4.0, and one of the first major changes is the integration of NavigationServer (and NavigationServer2D) to greatly improve and simplify the navigation workflow in Godot. This devblog shows how to set things up for a simple example with dynamic collision avoidance and runtime navigation mesh re-baking.</div></article></a><a href=/article/vulkan-progress-report-6/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e3/0ae/e1a/5e30aee1a2a5a347843703.png) href=/article/vulkan-progress-report-6/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;28 January 2020</span></div><h3>Vulkan progress report #6</h3><p class=excerpt>It's been a while since the previous progress report, as I went on Vacation in November (did not take a vacation in years..), and December I had a lot of other engine related tasks that piled up that I had to solve. Work on Vulkan branch resumed at the beginning of January and significant progress was made already.</div></article></a><a href=/article/html5-export-profiling/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e0/78b/00a/5e078b00a7171714583829.png) href=/article/html5-export-profiling/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/faless.webp alt="Fabio Alessandrelli" loading=lazy>
<span class=by>Fabio Alessandrelli </span><span class=date>&nbsp;-&nbsp;28 December 2019</span></div><h3>HTML5 export profiling for Godot 4.0</h3><p class=excerpt>HTML5 debug export profiling is coming for Godot 4.0</div></article></a><a href=/article/godot-oculus-quest-support/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5e0/038/931/5e00389316ad1115387831.png) href=/article/godot-oculus-quest-support/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/bastiaan.jpg alt="Bastiaan Olij" loading=lazy>
<span class=by>Bastiaan Olij </span><span class=date>&nbsp;-&nbsp;23 December 2019</span></div><h3>Godot Oculus Quest support</h3><p class=excerpt>Godot works on the Oculus Quest, find out more about getting up and running if you want to play around with it early.</div></article></a><a href=/article/websocket-ssl-testing-html5-export/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5de/044/c15/5de044c1559cf429683529.png) href=/article/websocket-ssl-testing-html5-export/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/faless.webp alt="Fabio Alessandrelli" loading=lazy>
<span class=by>Fabio Alessandrelli </span><span class=date>&nbsp;-&nbsp;28 November 2019</span></div><h3>WebSocket SSL server, HTTP server for testing HTML5 builds</h3><p class=excerpt>More networking improvements are coming in 3.2. WebSocketServer now has SSL support, and users can now test HTML5 export from the editor with one click.</div></article></a><a href=/article/csharp-wasm-aot/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5dc/e01/229/5dce01229c795712716182.png) href=/article/csharp-wasm-aot/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/ignacio.webp alt="Ignacio Roldán Etcheverry" loading=lazy>
<span class=by>Ignacio Roldán Etcheverry </span><span class=date>&nbsp;-&nbsp;15 November 2019</span></div><h3>C# progress report: WebAssembly, MonoDevelop and AOT</h3><p class=excerpt>Godot 3.2 brings WebAssembly support for C# games. There is also a new extension for Visual Studio for Mac and MonoDevelop and preliminary support for AOT compilation.</div></article></a></div><div class="flex pagination"><a class=pagination-previous href=https://godotengine.org/blog/progress-report/3/>← Previous</a>
<a title="Blog - Progress Report - Page 2" href=https://godotengine.org/blog/progress-report/2/>2</a>
<a title="Blog - Progress Report - Page 3" href=https://godotengine.org/blog/progress-report/3/>3</a>
<a class=active title="Blog - Progress Report - Page 4" href=https://godotengine.org/blog/progress-report/4/>4</a>
<a title="Blog - Progress Report - Page 5" href=https://godotengine.org/blog/progress-report/5/>5</a>
<a title="Blog - Progress Report - Page 6" href=https://godotengine.org/blog/progress-report/6/>6</a>
<a class=pagination-next href=https://godotengine.org/blog/progress-report/5/>Next →</a></div></div></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?5></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 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>