<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://overte.org</id>
  <title>Overte News</title>
  <updated>2026-05-18T18:34:38.446029+00:00</updated>
  <link href="https://overte.org"/>
  <link href="https://overte.org/blog/atom.xml" rel="self"/>
  <generator uri="https://ablog.readthedocs.io/" version="0.11.13">ABlog</generator>
  <entry>
    <id>https://overte.org/blog/2026-03-09_Monthly_progress_report.html</id>
    <title>Monthly progress report</title>
    <updated>2026-03-09T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="monthly-progress-report"&gt;

&lt;p&gt;This month, we talk about a large performance regression, the new dashboard UI and Flycam, and the weekly &amp;quot;Overte Warmup&amp;quot; event.&lt;/p&gt;
&lt;nav class="contents local" id="table-of-contents"&gt;
&lt;p class="topic-title"&gt;Table of Contents&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="#performance-regression-fixed" id="id1"&gt;Performance regression fixed&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="#new-dashboard-ui" id="id2"&gt;New Dashboard UI&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="#flycam" id="id3"&gt;Flycam&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="#sunday-overte-warmup-event" id="id4"&gt;Sunday Overte Warmup event&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;section id="performance-regression-fixed"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="#id1" role="doc-backlink"&gt;Performance regression fixed&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We fixed a large performance regression introduced in version 2025.09.1.
74hc595 noticed awful performance on their workstation with old dual Xeon E5-2690v2 CPUs getting only 30 FPS with their Nvidia RTX3090 in the tutorial world. Even with such old CPUs, performance should be &lt;em&gt;much&lt;/em&gt; better than that.
Looking into it myself, I also saw a ~50% decrease in engine (physics) performance on my machine. In my case, 50% higher frame times still meant hitting the 90 FPS frame cap in VR and the 60 FPS frame cap in desktop mode, which is why I never noticed the issue myself.&lt;/p&gt;
&lt;p&gt;Our changelog for version 2025.09.1 didn't show anything suspicious, so I set out to use a process called &amp;quot;bisecting&amp;quot; to find out which change introduced the performance regression.
I ran &lt;code class="code docutils literal notranslate"&gt;&lt;span class="pre"&gt;git&lt;/span&gt; &lt;span class="pre"&gt;bisect&lt;/span&gt;&lt;/code&gt; telling it the last known good commit and the earliest known bad commit. Git then checks out commits in the middle for me to manually build, test, and tell Git if it suffers from the issue or not.&lt;/p&gt;
&lt;p&gt;After just two hours I found &lt;a class="reference external" href="https://github.com/overte-org/overte/commit/209fea6b5821645b36452bf3781ff3450e0ed708"&gt;the culprit&lt;/a&gt;: The virtual keyboard used in VR was parented to the avatar.
It turns out that having the virtual keyboard follow you around is extremely computationally expensive, even when it is not in use and even in desktop mode. Why this is the case? I don't know. My assumption is that the keyboard and its individual keys have collisions enabled (probably because of the mallet input), and the physics engine checks if we are colliding with each individual key because of how close we are to them. Having to check for collisions between ~80 moving entities every frame is pretty expensive.&lt;/p&gt;
&lt;p&gt;Interesting that something as simple as parenting the keyboard to the avatar in VR could have such large performance impact on &lt;em&gt;desktop&lt;/em&gt; mode.
The &lt;a class="reference external" href="https://github.com/overte-org/overte/pull/2077"&gt;initial fix&lt;/a&gt; is just as simple: Only parent the keyboard to the avatar when it is actually in use.&lt;/p&gt;
&lt;p&gt;With this issue out of the way, your laptop or old computer should be running Overte a lot better again. The fix will be in the upcoming 2025.03.1 release.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="new-dashboard-ui"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="#id2" role="doc-backlink"&gt;New Dashboard UI&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As mentioned in previous progress reports, our upgrade to Qt6 is coupled to a complete UI overhaul.
Recently, Ada started work on the new &amp;quot;dashboard&amp;quot;, which is planned to replace the current tablet and HUD.&lt;/p&gt;
&lt;p&gt;After a bunch of brainstorming, Ada came up with some mock-ups:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Hand-drawn mock-up for the dashboard." class="inline" src="https://overte.org/_images/2026-01-16_dash.png" /&gt; &lt;img alt="3D render with Woody's cousin &amp;quot;man_stolen&amp;quot; looking at the dashboard mock-up." class="inline" src="https://overte.org/_images/2026-01-16_dash_woody.png" /&gt;&lt;/p&gt;
&lt;p&gt;And went straight to work, teasing us with screenshots and short video showcases:&lt;/p&gt;
&lt;p&gt;&lt;img alt="New dashboard with new Script Log window." class="inline" src="https://overte.org/_images/2026-02-27_clipboard.png" /&gt;&lt;/p&gt;
&lt;div  class="sphinx-contrib-video-container align-center"&gt;&lt;video autoplay="True" controls="True" loop="True" muted="True" preload="auto" width="100%"&gt;&lt;source src="https:/overte.org/_images/dash-proto_2026-02-27_2.webm" type="video/webm"&gt;&lt;source src="https:/overte.org/_images/dash-proto_2026-02-27_2.mp4" type="video/mp4"&gt;Short video showcasing the dashboard.&lt;/video&gt;&lt;/div&gt;&lt;p&gt;The new UI will be available in the upcoming months, once our update to Qt6 is finished and stable enough for a release.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="flycam"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="#id3" role="doc-backlink"&gt;Flycam&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another addition by Ada is a new flycam mode, which allows you to more conveniently move your camera around while using the Create app.&lt;/p&gt;
&lt;div  class="sphinx-contrib-video-container align-center"&gt;&lt;video autoplay="True" controls="True" loop="True" muted="True" preload="auto" width="100%"&gt;&lt;source src="https:/overte.org/_images/flycam-demo.webm" type="video/webm"&gt;&lt;source src="https:/overte.org/_images/flycam-demo.mp4" type="video/mp4"&gt;Short video showcasing the flycam.&lt;/video&gt;&lt;/div&gt;&lt;p&gt;It can be toggled by pressing F4 and will be available in the upcoming 2025.03.1 release.&lt;/p&gt;
&lt;p&gt;Currently, there are no plans to remove the Altcam (toggled using the Alt key) or the focus mode, which allows you to focus the camera on an entity by selecting it and pressing the F key.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="sunday-overte-warmup-event"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="#id4" role="doc-backlink"&gt;Sunday Overte Warmup event&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I also want to take this opportunity to advertise our &amp;quot;Overte Warmup&amp;quot; event, which takes place every Sunday at 12:30 UTC time.&lt;/p&gt;
&lt;p&gt;It begins at 12:00 UTC in VRChat and then switches to Overte at 12:30 UTC.
The idea behind it is to spark curiosity in our VRChat friends and bring them over for this occasion.&lt;/p&gt;
&lt;p&gt;Keep an eye on the &lt;a class="reference external" href="https://matrix.to/#/!ZzFb_DI4Gwv9E7h5bTDLCMxgu9AnkCO3I_acGhB7PN0?via=matrix.org&amp;amp;via=overte.org"&gt;#events channel&lt;/a&gt; on Matrix or Discord for up-to-date information about the event.&lt;/p&gt;
&lt;img alt="Group picture taken at a previous &amp;quot;Overte Warmup&amp;quot;." class="inline" src="https://overte.org/_images/overte-snap-by-X74hc595-on-2026-03-01_14-02-32.jpg" /&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2026-03-09_Monthly_progress_report.html"/>
    <summary>This month, we talk about a large performance regression, the new dashboard UI and Flycam, and the weekly "Overte Warmup" event.</summary>
    <published>2026-03-09T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2026-01-23_Monthly_progress_report.html</id>
    <title>Monthly progress report</title>
    <updated>2026-01-23T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="monthly-progress-report"&gt;

&lt;section id="website-facelift"&gt;
&lt;h2&gt;Website facelift&lt;/h2&gt;
&lt;p&gt;I finally took the time to give our website a little facelift.
The news section used to be just a long text document. This was replaced with &lt;a class="reference external" href="https://github.com/sunpy/ablog"&gt;ABlog&lt;/a&gt; a blogging extension for Sphinx. It makes the news section a little more manageable, without adding much maintenance overhead.
While I was at it, I slightly increased the font size and limited the width of the website.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="matrix-bridge"&gt;
&lt;h2&gt;Matrix bridge&lt;/h2&gt;
&lt;p&gt;I upgraded all of our Matrix rooms to room version 12, which turned out to not be as simple as initially thought.
While t2bot (our Matrix↔Discord bridge at the time) supports room version 12, the bridge only worked in one direction.&lt;/p&gt;
&lt;p&gt;After trying to self-host and finding out that the bot itself doesn't actually work with room version 12 (t2bot just uses a &lt;a class="reference external" href="https://github.com/t2bot/v12-proxy"&gt;proxy to change requests&lt;/a&gt;), I set out to look for greener pastures.
Here come a new bridge which I had never come across on my previous searches for a better bridge: &lt;a class="reference external" href="https://gitdab.com/cadence/out-of-your-element"&gt;Out Of Your Element&lt;/a&gt;
It isn't supported by &lt;a class="reference external" href="https://github.com/spantaleev/matrix-docker-ansible-deploy"&gt;matrix-docker-ansible-deploy&lt;/a&gt; which is used for our Matrix server, but the setup ended up being reasonably easy anyway.
After a whole bunch of user error on my part, I got Out Of Your Element working on the (at that point) still unsupported room version 12.&lt;/p&gt;
&lt;p&gt;The end result has been great. Multiple people commented on how much better the new bridge has been working.
As opposed to t2bot, it supports bridging emoji reactions (in both directions), and has been 100% reliable so far.
The reliability being a big thing, because t2bot would frequently fail to bridge messages, or take multiple minutes to do so.&lt;/p&gt;
&lt;p&gt;Here are Matrix (Element) and Discord side by side:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot of Element showing bridged messages and reactions." class="inline" src="https://overte.org/_images/Element.png" /&gt; &lt;img alt="Screenshot of Discord showing bridged messages and reactions." class="inline" src="https://overte.org/_images/Discord.png" /&gt;&lt;/p&gt;
&lt;p&gt;The Matrix side of our bridge is seeing a lot more usage now than it ever has.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="release-version-2025-12-1"&gt;
&lt;h2&gt;Release version 2025.12.1&lt;/h2&gt;
&lt;p&gt;Overte version 2025.12.1 was released on the 17th of December.
We had been dreading this one for quite a while, because it is a protocol breaking release, meaning that clients and servers are incompatible with previous versions, which made testing a lot harder than usual.
Sure enough, we ran into a really weird regression, which only happened in one area of one specific server.
Anyone joining and spawning in this area, would get stuck in safe-landing and never finish loading the world around them.&lt;/p&gt;
&lt;p&gt;The reason turned out to be as simple as devious: In September we lowered the maximum package size of networking packets (MTU) to fix connection issues for users whose internet providers do not provide them with the usual full size of 1500 bytes.
The one server which was having issues had a single entity, which fit into the old package size, but was too large for the new package size.
Entities are created on the client and transferred to the server, meaning that it is impossible to create an entity larger than the maximum packet size… unless the maximum packet size changes.
Because of this, the server didn't have any safeguards for entities not fitting into a packet and just kept retrying over and over again.&lt;/p&gt;
&lt;p&gt;Notice how I said the MTU was changed in September? The 2025.12.1 release wasn't the issue. The server just hadn't been updated until the protocol change required the server to be updated.
The issue was actually a rare regression in version 2025.09.1.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="vulkan"&gt;
&lt;h2&gt;Vulkan&lt;/h2&gt;
&lt;p&gt;The Vulkan backend was finally merged into master. This change has been in development for such a long time, it technically predates Overte itself.
Huge thanks to NLnet and the NGI program for sponsoring 74hc595's work on it and huge thanks to 74hc595 and all the people involved for working on this huge undertaking.&lt;/p&gt;
&lt;p&gt;While there is still a lot to do, before Vulkan will become our default rendering backend, it is already daily-drivable on Linux.
If you want to give it a try, either build Overte from source using the &lt;code class="code docutils literal notranslate"&gt;&lt;span class="pre"&gt;-DOVERTE_RENDERING_BACKEND=Vulkan&lt;/span&gt;&lt;/code&gt; argument,
or download any Vulkan build created by the CI-pipeline, such as &lt;a class="reference external" href="https://nightly.link/overte-org/overte/actions/runs/21102409135/Overte-PR2011-06de05e-x86_64-Vulkan.AppImage"&gt;this one&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="itch-io-release"&gt;
&lt;h2&gt;itch.io release&lt;/h2&gt;
&lt;p&gt;Recently we ran into old regressions, which had not been caught in testing, sometimes for multiple releases, multiple times.
This made us think it was time to get some more people on board and open up Overte to a wider audience.
Itch.io, with its artist community and people who are used to games made by small teams or single people, seemed like the perfect place to open up to a wider audience, without immediately going all the way to Steam.&lt;/p&gt;
&lt;p&gt;I spent a bunch of time designing &lt;a class="reference external" href="https://overte-org.itch.io/overte"&gt;Overte's itch.io page&lt;/a&gt; and even added support for “itch”, itch.io's desktop app, allowing automatic incremental updates.
A feature, which none of our other distribution channels have yet.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot of “itch” showing Overte in a user's collection." class="inline" src="https://overte.org/_images/itch_app_1.png" /&gt; &lt;img alt="Screenshot of “itch” prompting the user to select if they want to use Overte in VR or desktop mode." class="inline" src="https://overte.org/_images/itch_app_2.png" /&gt;&lt;/p&gt;
&lt;p&gt;While I am quite happy with how our itch.io page and the itch app support turned out, there is one issue: itch.io staff appears non-existent.
After publishing Overte on the 30th of December, I noticed that it was unlisted. I contacted itch.io's support, and have yet to receive anything more than an automatic “Request received” message.
On itch.io's Discord server many other users tell similar stories.&lt;/p&gt;
&lt;p&gt;If I saw an open-source project in such a state, I would think it is abandoned or its developer is burned out. With a commercial company, I don't know what to think.
Surely they would at least inform people of such long wait times.
Whatever the case may be, having Overte on a store just for it to be unlisted isn't very useful. If this continues, we will just have to drop itch.io support again…&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2026-01-23_Monthly_progress_report.html"/>
    <summary>I finally took the time to give our website a little facelift.
The news section used to be just a long text document. This was replaced with ABlog a blogging extension for Sphinx. It makes the news section a little more manageable, without adding much maintenance overhead.
While I was at it, I slightly increased the font size and limited the width of the website.</summary>
    <published>2026-01-23T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-12-17_Monthly_progress_report.html</id>
    <title>Monthly progress report</title>
    <updated>2025-12-17T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="monthly-progress-report"&gt;

&lt;p&gt;This month, I decided to change it up a bit and report on the progress to date, instead of only to the end of last month.&lt;/p&gt;
&lt;section id="overte-e-v-general-assembly-2025"&gt;
&lt;h2&gt;Overte e.V. general assembly 2025&lt;/h2&gt;
&lt;p&gt;We held our annual assembly on the 6th of December.
The highlights include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;2024 and 2025 both our income and our expenses were way higher than expected.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Our financial prospect for 2026 is good. We should be okay, even if we were to not complete any grant work. (Though donations are always appreciated, since my this assumes my work contract running out at the end of July 2026.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Our accounting auditor found no issues. As in previous years, they extended their audit into governance and administration and found no issues or new recommendations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We got a new honorary member within our ranks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The board can now arbitrarily set the membership fee of non-natural persons (e.g. companies).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A detailed protocol was sent to all Overte e.V. members via email today.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="progress"&gt;
&lt;h2&gt;Progress&lt;/h2&gt;
&lt;p&gt;74hc595 spent way too much time working on way too much stuff again 😉. Taking a break from Qt6, they have resumed work on getting Vulkan merged. (I literally got almost 70 email notification just from the Vulkan Pull Request.)
They diagnosed and fixed performance issues which were stalling our upgrade to libnode 22.
Of course, they also did their usual spree of general contributions like reviewing and testing Pull Requests, in addition to some smaller PRs.&lt;/p&gt;
&lt;p&gt;Ada continued work on their UI overhaul, while also continuing to improve OpenXR support, adding better OSC support, and working on adding local lights to the forward renderer. As always, Ada also did a huge amount of other miscellaneous stuff.&lt;/p&gt;
&lt;p&gt;HifiExperiments has been helping with all the graphics related changes and fixed OpenGL ES support.&lt;/p&gt;
&lt;p&gt;RTUnreal spent a lot of time bumping their head against more or less random build system issues again.&lt;/p&gt;
&lt;p&gt;I (Julian Groß) spent my time with small things as they popped up, including working on the next stable release.&lt;/p&gt;
&lt;p&gt;We got a new contributor this month: Zedwick has been helping out with updating the documentation and fixing issues with both the chat and the Nametags app.&lt;/p&gt;
&lt;p&gt;Part of the team went on holiday in Warszawa during the first week of December.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-12-17_Monthly_progress_report.html"/>
    <summary>This month, I decided to change it up a bit and report on the progress to date, instead of only to the end of last month.</summary>
    <published>2025-12-17T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-11-22_Invitiation_to_the_Overte_eV_general_assembly_2025.html</id>
    <title>Invitation to the Overte e.V. general assembly 2025</title>
    <updated>2025-11-22T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="invitation-to-the-overte-e-v-general-assembly-2025"&gt;

&lt;p&gt;Saturday, December 6th at 19:00 UTC we will hold our annual general assembly for the Overte e.V. in Overte. While only active Overte e.V. members are allowed to vote, non-Overte-e.V.-members are also welcome to attend.&lt;/p&gt;
&lt;p&gt;The planned agenda is as follows:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Decide on assembly leader.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Decide on assembly secretary. The secretary will fill out the protocol during the assembly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accounting report for 2024 and 2025.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Budgeting for 2026.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accounting auditor report (Steve Pruneau).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do we have someone that would like to become the accounting auditor? The accounting auditor cannot be a board member.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Board report.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Board member elections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vote on allowing the board to set membership fees for non-individuals at their discretion. &lt;strong&gt;[1]&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vote on hiring Julian Groß as done through board decision on 8th of July 2025. &lt;strong&gt;[2]&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vote on by-law change to specifically mention “approval voting” as the used board election system &lt;strong&gt;[3]&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Protocol gets signed by the assembly secretary and assembly leader.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;[1]&lt;/strong&gt;: Currently, non-individuals (e.g. companies, universities) pay the same 60€ yearly membership fee as everyone else. Some bodies may be willing to pay more but cannot donate due to legal reasons.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[2]&lt;/strong&gt;: The board already hired Julian Groß in accordance with § 6 The Board (3) Duties ( &lt;a class="reference external" href="https://satzung.overte.org/en/#aufgaben"&gt;https://satzung.overte.org/en/#aufgaben&lt;/a&gt; ). The assembly should still vote on it to back the board in its decision (or fire me).&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;&lt;strong&gt;[3]&lt;/strong&gt;    Suggested change to § 6 The Board (4) Election:&lt;/div&gt;
&lt;div class="line"&gt;From:&lt;/div&gt;
&lt;div class="line"&gt;(…) Die Vorstandsmitglieder werden von der Mitgliederversammlung pro zu besetzendem Sitz im gesonderten Wahlgang bestimmt. In jedem Wahlgang geben die Mitglieder eine Stimme pro Kandidaten ab. (…)&lt;/div&gt;
&lt;div class="line"&gt;(…) The board members are elected by the general assembly for each to be occupied seat in separate votes. During each vote, each member has one vote per candidate. (…)&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;To:&lt;/div&gt;
&lt;div class="line"&gt;(…) Die Vorstandsmitglieder werden von der Mitgliederversammlung pro zu besetzendem Sitz im gesonderten Wahlgang bestimmt. Das genutzte Wahlverfahren wird auch als Zustimmungswahl bezeichnet: In jedem Wahlgang geben die Mitglieder eine Stimme pro Kandidaten ab. (…)&lt;/div&gt;
&lt;div class="line"&gt;(…) The board members are elected by the general assembly for each to be occupied seat in separate votes. The used voting system is also referred to as &amp;quot;approval voting&amp;quot;: During each vote, each member has one vote per candidate. (…)&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Greetings from Germany&lt;/div&gt;
&lt;div class="line"&gt;Julian Groß&lt;/div&gt;
&lt;div class="line"&gt;Overte e.V. accountant&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-11-22_Invitiation_to_the_Overte_eV_general_assembly_2025.html"/>
    <summary>Saturday, December 6th at 19:00 UTC we will hold our annual general assembly for the Overte e.V. in Overte. While only active Overte e.V. members are allowed to vote, non-Overte-e.V.-members are also welcome to attend.</summary>
    <published>2025-11-22T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-11-05_October_progress_report.html</id>
    <title>October progress report</title>
    <updated>2025-11-05T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="october-progress-report"&gt;

&lt;section id="progress"&gt;
&lt;h2&gt;Progress&lt;/h2&gt;
&lt;p&gt;74hc595 again spent most of their time working on upgrading to Qt6. While chasing down crashes on Qt6, they uncovered and fixed multiple old memory safety issues, which have probably been causing issues for years now.
Of course, they also did their usual general contributions like reviewing and testing Pull Requests.&lt;/p&gt;
&lt;p&gt;Ada spent a lot of time working on their new UI overhaul, which is part of the upgrade to Qt6.
Here are some work-in-progress screenshots:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot of the work-in-progress QML settings UI." class="inline" src="https://overte.org/_images/settings_UI.png" /&gt; &lt;img alt="Screenshot of the work-in-progress QML Chat." class="inline" src="https://overte.org/_images/chat.png" /&gt; &lt;img alt="Screenshot of the work-in-progress QML Places app." class="inline" src="https://overte.org/_images/places_app.png" /&gt;&lt;/p&gt;
&lt;p&gt;HifiExperiments has been working on a fix for the &lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1823"&gt;FBX texture coordinate regression 🔗&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;RTUnreal has been fixing C++ build issues, both for Qt6 and our move to C++20. Without him, a lot of maintenance work would be stuck waiting for Qt6 to be finished.&lt;/p&gt;
&lt;p&gt;I (Julian Groß) spent most of my time with small bits and bobs, including the stable release, support, finishing the GitHub Actions refactor, and fixing smaller regressions, which were introduced by all the large changes which were merged recently.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="release"&gt;
&lt;h2&gt;Release!&lt;/h2&gt;
&lt;p&gt;We made another release. Version 2025.10.1 (and 2025.10.1.1 hotfix), which includes only bugfixes; Most importantly, a fix for AppImages crashing on Arch Linux, and a fix for OpenXR support not working on NixOS. It is available &lt;a class="reference external" href="https://github.com/overte-org/overte/releases/tag/2025.10.1.1"&gt;here 🔗&lt;/a&gt;. After the hotfix, we noticed a packaging issue which caused Fcitx support to not work. This has also be resolved, so get the &amp;quot;Fcitx_support&amp;quot; AppImage if you are having issues with using your IME in Overte.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-11-05_October_progress_report.html"/>
    <summary>74hc595 again spent most of their time working on upgrading to Qt6. While chasing down crashes on Qt6, they uncovered and fixed multiple old memory safety issues, which have probably been causing issues for years now.
Of course, they also did their usual general contributions like reviewing and testing Pull Requests.</summary>
    <published>2025-11-05T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-10-13_September_progress_report.html</id>
    <title>September progress report</title>
    <updated>2025-10-13T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="september-progress-report"&gt;

&lt;section id="organizational"&gt;
&lt;h2&gt;Organizational&lt;/h2&gt;
&lt;section id="ai-cryptocurrency-investment-scammers"&gt;
&lt;h3&gt;&amp;quot;AI Cryptocurrency Investment&amp;quot; scammers&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Too long; didn't read&lt;/strong&gt;: We fell victim to scammers and lost &amp;gt;190 €.&lt;/p&gt;
&lt;p&gt;September has been a very busy month for me as the accountant. Our organization fell victim to a group of &amp;quot;AI Cryptocurrency Investment&amp;quot; scammers, who try to use our identity to build trust with their targets.&lt;/p&gt;
&lt;p&gt;On the 12th of September, we started receiving multiple payments of around 250€ each on our bank account, which were seemed not intended for us.
I (Julian Groß) didn't notice these payments initially, as I had already done the monthly accounting and didn't check our bank account.
On the 15th of September, we started receiving payments on Stripe, which is our credit card payment provider, as well. Since I got an email notification about those, I knew of them pretty much immediately.
Nothing seemed weird there at first; The transactions were using our donation form, so they were clearly labelled as donations. What was odd was that we would suddenly get such large amount of donations in the first place. And, looking closer at them, multiple people were supposedly sharing email addresses.
At this point, I started reading through Stripe's documentation and contacted Stripe. Unfortunately, they were very unhelpful. Their documentation suggested this being a card testing scam, and that we should immediately refund everything. Their support was extremely slow, AI translated, and never had anything helpful to say.
This is where the first mistake happens as well: I follow Stripe's advice and press the refund button on all the transactions.
What I didn't notice at the time, was that Stripe keeps their fees. Meaning that on every refund I make, the Overte e.V. pays a hefty credit card fee. Multiple Euros per transaction.
In total, we lost 163,50 € in Stripe fees.
Once I noticed this the next day, I started returning only what was left after Stripe's fee.
While that saved us from another losing another &amp;gt;100 € in Stripe fees, it ended up incurring a chargeback from one person who really wanted their 1,86 € back.
As it turns out, Stripe (and credit card companies) charge 20 € per chargeback. Not to mention the bank responsible for the chargeback graciously rounded up the sum to 1,95 €.
Contesting chargebacks incurs another 20 € fee. So I decided to just pay up.&lt;/p&gt;
&lt;p&gt;In the meantime, I noticed transactions also going straight to our bank account.
This felt way less problematic, since the fees are &lt;em&gt;way&lt;/em&gt; lower than for credit card stuff, and we have rule of law there, rather than credit card companies and payment providers just offloading everything onto us.
At this point, I got in contact with the Police, since the victims suddenly had names and identities, and as opposed to our Stripe account, I wasn't willing to just close it off.
The local Policeman knew immediately what was going on and asked me to inform the victims by sending them messages via SEPA bank transfers. Turns out, instant bank transfers are faster than the police. At least as long as the victims check their bank accounts regularly.&lt;/p&gt;
&lt;p&gt;Apparently, this is a very common scam:
- The scammers rope their victims in with promises of high-return investment opportunities.
- They then have their victims pay a smaller sum to a place that feels trustworthy; In this case, a German bank account. Since it is a German bank account, at least the German victims have little to worry about. If it is a scam, they have someone they can hold accountable. None of this money actually makes it to the scammers.
- The scammers then show their victims how much money their investments are allegedly making, and are offering them to invest larger sums. At this point, they have their victims pay money to a channel they have control over. &lt;a class="reference external" href="https://www.eurojust.europa.eu/news/eurojust-coordinates-action-halt-cryptocurrency-fraud-over-100-million-euros-across-europe"&gt;In this latest case published by Eurojust&lt;/a&gt; it was mainly Lithuanian bank accounts.&lt;/p&gt;
&lt;p&gt;While our bank was slow to respond, they were &lt;em&gt;extremely&lt;/em&gt; helpful. They immediately knew what was going on, and offered to screen the transactions for us,
meaning I didn't have to return the money manually anymore and didn't have to account for them in our books either, since they never actually make it onto our bank account.&lt;/p&gt;
&lt;p&gt;The scam is still going on, but has slowed down considerably. Only one of the scammers appears to remain, and I now know what to do with any fraudulent transactions we receive.&lt;/p&gt;
&lt;p&gt;So what did we learn from this?
- The saying &amp;quot;Never look a gifted horse in the mouth&amp;quot; doesn't always apply.
- We are legally required to pay back any money that wasn't intended for us. (See &lt;a class="reference external" href="https://www.gesetze-im-internet.de/bgb/__812.html"&gt;BGB § 812&lt;/a&gt;)
- Credit card is an awful way of receiving donations, because it leaves you vulnerable to chargeback and contesting fees, and generally costs &lt;em&gt;way&lt;/em&gt; more than even international and inter-currency transfers.&lt;/p&gt;
&lt;p&gt;What are the next steps?
I am still considering to completely stop accepting donations via Stripe. While the 163,50 € of fees was my fault to some degree, the chargeback fees are something we cannot do anything about with our current setup.
Some donators already switched over to donating via bank transfer instead. Meaning that we receive so little money via Stripe now, that just two chargebacks per month are enough to completely negate the money received from there.
At that point, I would need to shut that channel down. We could still decide to accept credit card payments via email then; Or maybe we can find some other payment provider who takes over such fees.&lt;/p&gt;
&lt;p&gt;If you have any suggestions, questions, or input on this, feel free to reach out via our usual channels.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="infrastructure"&gt;
&lt;h2&gt;Infrastructure&lt;/h2&gt;
&lt;p&gt;Our &lt;a class="reference external" href="https://weblate.overte.org/"&gt;Weblate translation instance&lt;/a&gt; has been slow or inaccessible for most of September due to crappy Chinese AI scraping bots.
While this is probably not a deliberate attack, it manifests the same as a distributed denial-of-service attack on our infrastructure.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://anubis.techaro.lol/"&gt;Anubis&lt;/a&gt; has been deployed to our Weblate instance, but unfortunately the low percentage of scrapers that do get through are still occasionally enough to overwhelm the server and flood us with error messages.
Due to this, I had to shut down the server for multiple days. While it has been running without issues again for a couple of days now, it might get overwhelmed again until a solution is found.&lt;/p&gt;
&lt;p&gt;Weblate added the option to back up individual projects, instead of the entire server, so we are currently looking into moving to a public Weblate instance.
So far, this has been a slow process though:
- hosted.weblate.org allows creating said backups, but it currently doesn't allow actually restoring them.
- translate.codeberg.org doesn't currently support pushing to GitHub and still hasn't made a formal decision if they want to. We also haven't been able to reach their admin yet.&lt;/p&gt;
&lt;p&gt;We are not aware of any other public Weblate instances.&lt;/p&gt;
&lt;p&gt;There are some other open-source organizations hosting their own Weblate instances, so we might try to join with one of them.&lt;/p&gt;
&lt;p&gt;Alternatively, we will just have to upgrade our server and/or pay for something that lets fewer bots through, like Anubis' &amp;quot;&lt;a class="reference external" href="https://anubis.techaro.lol/docs/admin/thoth"&gt;Thoth&lt;/a&gt;&amp;quot; service.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="progress"&gt;
&lt;h2&gt;Progress&lt;/h2&gt;
&lt;p&gt;74hc595 spent most of their time working on upgrading to Qt6. Apparently, the Qt6 branch already works, even if it is still very unstable.
Of course, they also did their usual general contributions like reviewing and testing a &lt;em&gt;lot&lt;/em&gt; of Pull Requests.&lt;/p&gt;
&lt;p&gt;Ada has been helping with the Qt6 upgrade, focusing on QML related fixes. They also committed some smaller fixes like fixing OpenXR trigger click reliability,
in addition to reviewing, testing and reporting bugs, and prototyping their upcoming UI theming support.&lt;/p&gt;
&lt;p&gt;HifiExperiments helped with a lot of triage, advice, and code review.&lt;/p&gt;
&lt;p&gt;RTUnreal worked up upgrading dependencies and has generally been helping with build system maintenance.&lt;/p&gt;
&lt;p&gt;I was mostly busy with handling the recent scam and the flood of broken Chinese AI scrapers. In addition, I worked on refactoring our GitHub Actions workflow files (shoutout to RTUnreal for the code review),
fixed some smaller build system bugs and troubleshot regressions. I also started initial work on an itch.io release: Finding regressions introduced multiple releases ago isn't fun and showcases that there just isn't enough testing happening.
This suggests that it is about time to try to get more users in. When this release will happen isn't entirely clear yet; We have an upcoming protocol changing release which will undoubtedly introduce more not-yet-known regressions, as well as require all servers and clients to be updated.&lt;/p&gt;
&lt;p&gt;We also received bug reports and help from Alezia, Dale, and Krzeszny.
Big shoutout also to KawaneRio for organizing Sunday's &amp;quot;Overte warmup&amp;quot; event.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="release"&gt;
&lt;h2&gt;Release!&lt;/h2&gt;
&lt;p&gt;We made our first release since switching from VCPKG to Conan. Version 2025.09.1 and its changelog are available &lt;a class="reference external" href="https://github.com/overte-org/overte/releases/tag/2025.09.1"&gt;here 🔗&lt;/a&gt; and come with a &lt;em&gt;huge&lt;/em&gt; list of bug fixes, improvements, additions, and changes.
It does come with a regression that causes it to crash on many on some Linux distributions when opening a web view, like the Places app. A fix will be included in the next release. For now, affected users can get the CI testing build from &lt;a class="reference external" href="https://github.com/overte-org/overte/pull/1840"&gt;GitHub&lt;/a&gt; or keep using version 2025.05.1.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-10-13_September_progress_report.html"/>
    <summary>September has been a very busy month for me as the accountant. Our organization fell victim to a group of "AI Cryptocurrency Investment" scammers.</summary>
    <published>2025-10-13T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-09-07_August_progress_report.html</id>
    <title>August progress report</title>
    <updated>2025-09-07T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="august-progress-report"&gt;

&lt;section id="organizational"&gt;
&lt;h2&gt;Organizational&lt;/h2&gt;
&lt;section id="employment"&gt;
&lt;h3&gt;Employment&lt;/h3&gt;
&lt;p&gt;Last post we asked for donations in case unforeseen costs come up with my (Julian Groß) employment. As it turns out, the employment does indeed cost a little bit more (~30€) than I anticipated, costing around 1000€ per month, roughly 710€ of which actually end up on my bank account.  (I say “around” and “roughly” because most months cannot be cleanly divided by 4 weeks.)&lt;/p&gt;
&lt;p&gt;I want to personally thank everyone who donated. Most of the people who donated appear to be new people who had never even tried Overte before donating.
I also want to specially thank our regular donators and paying Overte e.V. members, who keep Overte running. You know who you are, and you rock!&lt;/p&gt;
&lt;p&gt;Next time, I should have the donation banner count all money paid towards the Overte e.V., instead of just extra funds on top of the regular donations minus transaction fees.
I did it this way for accounting purposes and that was probably just a bad idea.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="nlnet-grant"&gt;
&lt;h3&gt;NLnet grant&lt;/h3&gt;
&lt;p&gt;In other news, the NLnet Foundation has accepted another grant (amendment) proposal from us. After having been successfully working with them for over 1 1/2 years now, it feels great to still be among all the amazing open source projects supported by them.&lt;/p&gt;
&lt;p&gt;We want to thank NLnet and the European Commission for fostering software freedom with their Next Generation Internet programme.&lt;/p&gt;
&lt;section id="project-plan"&gt;
&lt;h4&gt;Project plan&lt;/h4&gt;
&lt;p&gt;The funding will be used to pay developers to work on the areas listed below.&lt;/p&gt;
&lt;section id="features"&gt;
&lt;h5&gt;Features&lt;/h5&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Multi-packet avatar updates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;linear interpolation for avatar updates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finish multi-packet entity properties&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="graphics"&gt;
&lt;h5&gt;Graphics&lt;/h5&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Vulkan frame transfer to VR plugin&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="maintenance"&gt;
&lt;h5&gt;Maintenance&lt;/h5&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Switch to using a package lock file on Conan and updating it semi-automatically using something like Renovate&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try getting NSIS more foolproof (boolean checks are unreliable as they only check for one possible boolean naming scheme)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Document networking code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="bug-fixes"&gt;
&lt;h5&gt;Bug Fixes&lt;/h5&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Fix networking congestion control ( &lt;a class="reference external" href="https://github.com/overte-org/overte/issues/572#issuecomment-2799907780"&gt;https://github.com/overte-org/overte/issues/572#issuecomment-2799907780&lt;/a&gt; )&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix retransmissions ignoring congestion control ( &lt;a class="reference external" href="https://github.com/overte-org/overte/issues/572#issuecomment-2799907780"&gt;https://github.com/overte-org/overte/issues/572#issuecomment-2799907780&lt;/a&gt; )&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="entity-transition-shader-fade"&gt;
&lt;h5&gt;Entity Transition Shader (Fade)&lt;/h5&gt;
&lt;p&gt;We have a special shader that makes user appear as if they were &amp;quot;beaming in&amp;quot; or &amp;quot;beaming out&amp;quot; when connecting or disconnecting. Apparently, there is unfinished support for doing this to other entities as well, which we would like to fix/finish and polish. This can be used for multiple purposes, but playing similar animations when people edit worlds, for example by deleting entities, is what got us to look into this.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Add/fix entity transition shader&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expose avatar and entity transition shader as zone properties&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expose entity transition shader to Entities.addEntity and Entities.deleteEntity (overriding zone properties)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="macos-support"&gt;
&lt;h5&gt;macOS support&lt;/h5&gt;
&lt;p&gt;With the Vulkan PR almost merged into master, Apple getting rid of OpenGL isn't a blocker to our macOS support anymore. However, macOS support was broken for multiple years, always was on the back burner, and we moved build systems in-between, so this is a bit of a larger job. We have a good amount of macOS users who are willing to test, and even some people who are still running our last macOS version, eagerly waiting for a new one.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Get macOS development machine&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build with MoltenVK&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get all of our Conan packages to build on macOS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix the server software crashing on macOS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set up automatic macOS CI builds&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="android-support"&gt;
&lt;h5&gt;Android support&lt;/h5&gt;
&lt;p&gt;With the new Conan dependency manager, overhauled build system, and experience with Conan, CMake, and our build system, I now feel comfortable tackling Android support. We used to have experimental Android support, but Google changed so much of their build system API for C++ that that part needs to be completely rewritten.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Get all of our required Conan packages to build for Android&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add Android support to our build system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set up automatic Android CI builds&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add initial OpenXR support to our Android client&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="depot-dev"&gt;
&lt;h3&gt;Depot.dev&lt;/h3&gt;
&lt;p&gt;Overte got its first corporate sponsor: &lt;a class="reference external" href="https://depot.dev/?utm_source=Overte"&gt;Depot.dev 🔗&lt;/a&gt; is graciously providing us with their Continuous Integration services for free.&lt;/p&gt;
&lt;p&gt;With us needing to build Qt from source on Windows, the free GitHub hosted Runners were timing out because our builds would take over 6 hours any time there was a Qt package cache miss. So we needed a solution which didn't involve constant babysitting of the CI pipeline, which would have defeated the point of having a CI pipeline in the first place. Getting faster Runners from GitHub would have costed us upwards of 2000€ extra per year, which frankly would have broken the bank.&lt;/p&gt;
&lt;p&gt;This is where Depot.dev comes in. Not only are they &lt;em&gt;way&lt;/em&gt; cheaper than GitHub hosted Runners and provide a lot more cache space, but they also offer discounts for non-profits and open-source projects.&lt;/p&gt;
&lt;p&gt;Interesting enough, even the same spec runners on Depot.dev are actually quite a lot faster at building Overte than the ones on GitHub already.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="progress"&gt;
&lt;h2&gt;Progress&lt;/h2&gt;
&lt;p&gt;Frankly speaking, so much stuff got done this month that I am having a hard time deciding what to mention.&lt;/p&gt;
&lt;p&gt;On my side, I have spent most of my time with fixing up our Qt package for Windows and doing more build system improvements. Big thanks to 74hc595 for finding lots of additional issues in my Qt package. 😅
Together, we found out that release builds were actually building with Qt asserts enabled. Asserts are basically deliberate crashes, which exist to make us developers aware of something unexpected happening. They shouldn't be enabled in a release build, as the application often continues to function even when something we didn't expect happens.
It's quite frustrating working on something that takes three hours to build any time there is a change on an operating system you aren't usually developing on, but I am quite happy with the results.&lt;/p&gt;
&lt;p&gt;Thanks to NLnet, I also started working on macOS support. For now, I got all the required dependencies to build and am waiting for Vulkan to be merged and our update to libnode 22 to be finished.&lt;/p&gt;
&lt;p&gt;74hc595 did a &lt;em&gt;lot&lt;/em&gt; of work as usual. They fixed multiple audio issues, helped a lot with getting Pull Requests finished, tested and merged, fixed that weird bug with people starting floating while having their camera zoomed into the back of their heads, fixed multiple crashes on Windows, … you get the idea.&lt;/p&gt;
&lt;p&gt;Ada also did a lot of miscellaneous bug fixes, but also upstreamed their Context menu, fixed a lot of issues with VR and OpenXR, added OpenXR body tracking support, added multiple new JavaScript APIs, et cetera.
We keep merging Pull Requests and Ada keeps opening new ones.&lt;/p&gt;
&lt;p&gt;HifiExperiments added initial VRM file format support, fixed remaining issues with his new multi-layered materials, and helped Ada and 74hc595 with graphics work as usual.&lt;/p&gt;
&lt;p&gt;Alezia worked on improving the Snap app, added bookmarks and per-Place user counts to the Places app, and cleaned up the Places app's code.&lt;/p&gt;
&lt;p&gt;We also got a new contributor this month: RTUnreal started work on packaging Overte for NixOS. To that end, they already added support for our build system to use only system libraries, uncovered and fixed some bugs, and have been a huge help with the libnode 22 upgrade.
Considering how many people already dabbled with trying to build Overte using Nix and gave up once they realized how much work it is going to be, it is especially great to see RTUnreal get changes merged into Overte.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="release-candidate"&gt;
&lt;h2&gt;Release candidate!&lt;/h2&gt;
&lt;p&gt;On the topic of progress: We tagged our first release candidate since switching from VCPKG to Conan. Version 2025.09.1-rc1 and its changelog are available &lt;a class="reference external" href="https://github.com/overte-org/overte/releases/tag/2025.09.1-rc1"&gt;here 🔗&lt;/a&gt; and come with a &lt;em&gt;huge&lt;/em&gt; list of bug fixes, improvements, additions, and changes.
So far, this release candidate has been rock solid, so it might turn into a full release already next week without any additional changes necessary.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-09-07_August_progress_report.html"/>
    <summary>Last post we asked for donations in case unforeseen costs come up with my (Julian Groß) employment. As it turns out, the employment does indeed cost a little bit more (~30€) than I anticipated, costing around 1000€ per month, roughly 710€ of which actually end up on my bank account.  (I say “around” and “roughly” because most months cannot be cleanly divided by 4 weeks.)</summary>
    <published>2025-09-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-06-07_Help_us_hire_a_team_member.html</id>
    <title>Help us hire a team member!</title>
    <updated>2025-06-07T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="help-us-hire-a-team-member"&gt;

&lt;p&gt;We are in the process of hiring our long-term contributor Julian Groß, allowing him to dedicate more time to Overte and get things done.&lt;/p&gt;
&lt;p&gt;The current proposal is a one-year-long contract for 13 hours per week at German minimum wage. While not much, this is enough for Julian to survive and make work on Overte his main profession.&lt;/p&gt;
&lt;p&gt;However, while the Overte e.V. can technically afford that, we are cutting it close. That is why we are asking for your support!&lt;/p&gt;
&lt;p&gt;We need to keep some financial cushioning in case of unforeseen costs, so we are doing our first fundraiser to reach our goal of 3000€ of additional funds over the next couple of months.&lt;/p&gt;
&lt;p&gt;&lt;a class="sd-sphinx-override sd-btn sd-text-wrap sd-btn-primary sd-shadow-sm reference internal" href="donate.html"&gt;&lt;span class="doc"&gt;    Donate now ♥︎&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-06-07_Help_us_hire_a_team_member.html"/>
    <summary>We are in the process of hiring our long-term contributor Julian Groß, allowing him to dedicate more time to Overte and get things done.</summary>
    <published>2025-06-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2025-04-04_Weve_obtained_another_NLnet_grant.html</id>
    <title>We've obtained another NLnet grant!</title>
    <updated>2025-04-04T00:00:00+00:00</updated>
    <author>
      <name>Dale Glass</name>
    </author>
    <content type="html">&lt;section id="we-ve-obtained-another-nlnet-grant"&gt;

&lt;p&gt;After the success of our previous grant, which enabled myriad fixes, improvements, and new features, we are pleased to announce that we've obtained a second NLnet grant!&lt;/p&gt;
&lt;p&gt;The NLnet Foundation continues to support many amazing Open Source projects, and we're honored to continue partnering with them.&lt;/p&gt;
&lt;p&gt;As with the previous grant, we commit to keeping users and developers up to date with the progress made on these items, both during our usual Saturday development meetings and on GitHub, so that everyone can follow along with the progress.&lt;/p&gt;
&lt;section id="project-plan"&gt;
&lt;h2&gt;Project plan&lt;/h2&gt;
&lt;p&gt;The funding will be used to pay developers to work on the areas listed below, with the possibility of extensions and additional work.&lt;/p&gt;
&lt;p&gt;The agreed upon deadline for completion is December 1st, 2025.&lt;/p&gt;
&lt;section id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;p&gt;We would like to allow less technical users to more comfortably make use of all the features
provided by our scripting engine. To that end, we would like to add a visual scripting system.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Visual scripting (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/982"&gt;https://github.com/overte-org/overte/issues/982&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chat messages in 3D space (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1147"&gt;https://github.com/overte-org/overte/issues/1147&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add copy and paste buttons to VR keyboard (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/130"&gt;https://github.com/overte-org/overte/issues/130&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support OpenXR finger tracking (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/224"&gt;https://github.com/overte-org/overte/issues/224&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cryptography functions in scripting API (&lt;a class="reference external" href="https://github.com/overte-org/overte/tree/feature/cryptography"&gt;https://github.com/overte-org/overte/tree/feature/cryptography&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add live translation support to chat&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="graphics"&gt;
&lt;h3&gt;Graphics&lt;/h3&gt;
&lt;p&gt;Our engine uses its own internal graphics API, which is largely undocumented. Documenting this API is a lot of work and important for the future maintainability of the project. Additionally, we would like to spend more time on Vulkan optimization, especially on troubleshooting performance issues on Intel Arc graphics cards.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Vulkan optimization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Internal graphics API documentation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have local lights affect MToon materials (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1131"&gt;https://github.com/overte-org/overte/issues/1131&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expose normal map attenuation distance as zone property (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1139"&gt;https://github.com/overte-org/overte/issues/1139&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use standard physically-based-rendering for voxels (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/749"&gt;https://github.com/overte-org/overte/issues/749&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow switching between graphics APIs through command line option&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add splat mapping functionality (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1163"&gt;https://github.com/overte-org/overte/issues/1163&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a no-filter texture filtering mode (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/145"&gt;https://github.com/overte-org/overte/issues/145&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="qml-localization"&gt;
&lt;h3&gt;QML Localization&lt;/h3&gt;
&lt;p&gt;As Overte is used by people from all over the world, we want to add localization support. This task
aims to allow translating all internal UI created using QML. (Most, but not all, of our UI uses QML.)&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Mark strings as translatable&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Generate translation files automatically&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hook up to Weblate translation system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build with translations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check if we include the required fonts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add German translation (as a reference test case)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="maintenance"&gt;
&lt;h3&gt;Maintenance&lt;/h3&gt;
&lt;p&gt;CMake 4.0 is around the corner, dropping support for some legacy compatibility, which seems to
break almost every one of our dependencies. Libnode has similarly received updates, including
breaking changes.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Update Overte for CMake 4.0 compatibility&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix building dependencies on CMake 4.0&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update libnode to the next LTS version&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improve build instructions for building with KDevelop and CLion&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add automatic Docker release builds&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finish getting Overte into Flathub&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update to Qt 6 (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1243"&gt;https://github.com/overte-org/overte/issues/1243&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package Qt 6 dependency for Windows&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package Qt 6 dependency for Linux&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package webrtc-audio-processing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switch to libdatachannel&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="bug-fixes"&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Fix MToon materials not showing up in Material Inspector (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1028"&gt;https://github.com/overte-org/overte/issues/1028&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Text entities: show tofu character on missing character (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1133"&gt;https://github.com/overte-org/overte/issues/1133&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add &amp;quot;blocklist&amp;quot; for known broken graphics drivers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix server Console trying to connect to highfidelity.com (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/578"&gt;https://github.com/overte-org/overte/issues/578&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix QML warning message spam on Windows (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/593"&gt;https://github.com/overte-org/overte/issues/593&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix problems with HifiControlsUit.SpinBox (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/921"&gt;https://github.com/overte-org/overte/issues/921&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix uninstalling Overte not removing cache from AppDataLocal (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/952"&gt;https://github.com/overte-org/overte/issues/952&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix avatar bookmarks silently failing on broken syntax (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/192"&gt;https://github.com/overte-org/overte/issues/192&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="ui-rework"&gt;
&lt;h3&gt;UI Rework&lt;/h3&gt;
&lt;p&gt;Our current UI is a mix of different themes, design philosophies, and programming languages (&lt;a class="reference external" href="https://github.com/orgs/overte-org/projects/8"&gt;https://github.com/orgs/overte-org/projects/8&lt;/a&gt;). Specifically our Create app could use some
improvement (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/1145"&gt;https://github.com/overte-org/overte/issues/1145&lt;/a&gt;).&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Framework for default QML applications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework Avatar app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add grid shader to Create&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow switching Create windows between external and embedded windows&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework asset browser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework voxel edit mode&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow parenting entities using drag and drop in entity list&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a tree view to entity list&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a free camera mode to Create&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improve material management in Create&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add centered scaling to Create&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework More app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework settings&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework Pal app (People list)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework log viewer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework Snapshot app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework Emote app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework running scripts window&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework Places app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rework notifications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add theming support&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prefer using system file-picker&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add dashboard user interface&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="integrate-results-from-ux-review-and-security-audit"&gt;
&lt;h3&gt;Integrate results from UX review and security audit&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Perform UX review&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Perform Security audit&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="thanks"&gt;
&lt;h3&gt;Thanks&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;NLnet, for continuing to support Overte.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Julian Groß, for negotiating this agreement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All of the developers who have agreed to take on this work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Overte community, for making this possible.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2025-04-04_Weve_obtained_another_NLnet_grant.html"/>
    <summary>After the success of our previous grant, which enabled myriad fixes, improvements, and new features, we are pleased to announce that we've obtained a second NLnet grant!</summary>
    <published>2025-04-04T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2024-04-16_NLnet_grant_extended_again.html</id>
    <title>NLnet grant extended again!</title>
    <updated>2024-04-16T00:00:00+00:00</updated>
    <author>
      <name>HifiExperiments</name>
    </author>
    <content type="html">&lt;section id="nlnet-grant-extended-again"&gt;

&lt;p&gt;We've obtained another extension to the NLnet grant, with the following additional items:&lt;/p&gt;
&lt;section id="maintenance"&gt;
&lt;h2&gt;Maintenance&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Fix warnings and allow turning on warnings-as-errors (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/930"&gt;https://github.com/overte-org/overte/issues/930&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clean up Application.cpp so it's not 10,000 lines (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/931"&gt;https://github.com/overte-org/overte/issues/931&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;fix setting joint data by name (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/613"&gt;https://github.com/overte-org/overte/issues/613&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Replace the old wearables system with avatar entities to deduplicate code. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/932"&gt;https://github.com/overte-org/overte/issues/932&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="text-entities"&gt;
&lt;h2&gt;Text entities&lt;/h2&gt;
&lt;p&gt;Our text entities need some love. They are clunky, and most importantly they use a custom format that isn't documented anywhere; Meaning that we cannot add new fonts, which is especially bad because the current fonts only support ASCII character.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;clip to edges instead of completely disappearing (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/583"&gt;https://github.com/overte-org/overte/issues/583&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switch to a standard font format (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/126"&gt;https://github.com/overte-org/overte/issues/126&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="graphics-improvements-ii"&gt;
&lt;h2&gt;Graphics improvements II&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Add ambient light color (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/6"&gt;https://github.com/overte-org/overte/issues/6&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Loading MToon materials directly from glTF (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/933"&gt;https://github.com/overte-org/overte/issues/933&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optional camera clipping (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/618"&gt;https://github.com/overte-org/overte/issues/618&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Custom shader fallback (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/640"&gt;https://github.com/overte-org/overte/issues/640&lt;/a&gt;): One fallback for if a shader fails to load/compile and one for if a user has procedural shaders disabled&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Exposing more graphics settings (tone-mapping, bloom, procedural shaders, AO) (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/740"&gt;https://github.com/overte-org/overte/issues/740&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/overte-org/overte/issues/741"&gt;https://github.com/overte-org/overte/issues/741&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/overte-org/overte/issues/14"&gt;https://github.com/overte-org/overte/issues/14&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;add tone-mapping and Ambient Occlusion properties to Zone entities (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/934"&gt;https://github.com/overte-org/overte/issues/934&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="miscellaneous-improvements-ii"&gt;
&lt;h2&gt;Miscellaneous improvements II&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Add VR laser smoothing which will especially help people with shaky hands (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/883"&gt;https://github.com/overte-org/overte/issues/883&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Increase loading priority of avatar entities (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/834"&gt;https://github.com/overte-org/overte/issues/834&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add option to not have an avatar show until its entities are loaded (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/834"&gt;https://github.com/overte-org/overte/issues/834&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improve current loading priority system (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/834"&gt;https://github.com/overte-org/overte/issues/834&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a property to influence load priority of entities (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/834"&gt;https://github.com/overte-org/overte/issues/834&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2024-04-16_NLnet_grant_extended_again.html"/>
    <summary>We've obtained another extension to the NLnet grant, with the following additional items:</summary>
    <published>2024-04-16T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2024-04-02_NLnet_grant_extended.html</id>
    <title>NLnet grant extended!</title>
    <updated>2024-04-02T00:00:00+00:00</updated>
    <author>
      <name>Dale Glass</name>
    </author>
    <content type="html">&lt;section id="nlnet-grant-extended"&gt;

&lt;p&gt;We've obtained an extension to the NLnet grant, with the following additional items:&lt;/p&gt;
&lt;section id="linux-fhs-support"&gt;
&lt;h2&gt;Linux FHS Support&lt;/h2&gt;
&lt;p&gt;The Linux Filesystem Hierarchy standard defines the proper file layout for an application. This work would involve adopting it, and adding some nice improvements as well.&lt;/p&gt;
&lt;p&gt;This will:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Make packaging easier and allow inclusion in distributions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make SELinux easier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow easy instancing out of the box.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make Mac packaging easier.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Domain server/assignment client implementation (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/903"&gt;https://github.com/overte-org/overte/issues/903&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interface implementation (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/904"&gt;https://github.com/overte-org/overte/issues/904&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="ldap-support"&gt;
&lt;h2&gt;LDAP Support&lt;/h2&gt;
&lt;p&gt;LDAP is a common authentication mechanism, widely supported in organizations. Active Directory is compatible as well.&lt;/p&gt;
&lt;p&gt;This will help Overte integrate much better into corporate and university structures. They could use their own internal system to control authentication. We'd save the need to write that code ourselves, which is of little interest and has been done better by other projects.&lt;/p&gt;
&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Basic support in domain web UI to allow multiple users to authenticate. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/905"&gt;https://github.com/overte-org/overte/issues/905&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Basic support as an alternative to directory server: user accounts, domain directory. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/906"&gt;https://github.com/overte-org/overte/issues/906&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Full alternative to directory server. Support user relationships, data storage, profile metadata. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/907"&gt;https://github.com/overte-org/overte/issues/907&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="ipv6-support"&gt;
&lt;h2&gt;IPv6 Support&lt;/h2&gt;
&lt;p&gt;IPv6 adoption is reaching quite good levels as of late, and is especially important in environments that are hurting for IPv4 addresses such as corporate, universities, cloud and large deployments.
Some providers already are charging extra for IPv4 addresses, so supporting IPv6 helps making hosting domains cheaper.&lt;/p&gt;
&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Basic support in domain web UI. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/908"&gt;https://github.com/overte-org/overte/issues/908&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for fetching assets over IPv6 in interface. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/909"&gt;https://github.com/overte-org/overte/issues/909&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for domains running on IPv6. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/910"&gt;https://github.com/overte-org/overte/issues/910&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="selinux"&gt;
&lt;h2&gt;SELinux&lt;/h2&gt;
&lt;p&gt;SELinux is a security system that allows sandboxing applications and daemons.&lt;/p&gt;
&lt;p&gt;SELinux would sandbox the domain server and optionally the interface, to ensure that any exploits can't affect the rest of the system. For instance, a domain exploit could still break the domain, but couldn't use the server to attack other computers or expose the user's private data.&lt;/p&gt;
&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Confine domain-server. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/911"&gt;https://github.com/overte-org/overte/issues/911&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confine assignment clients. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/912"&gt;https://github.com/overte-org/overte/issues/912&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Attempt supporting multiple instances with isolation. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/913"&gt;https://github.com/overte-org/overte/issues/913&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Isolate multiple Overte servers on the same machine from each other. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/914"&gt;https://github.com/overte-org/overte/issues/914&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confine interface. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/915"&gt;https://github.com/overte-org/overte/issues/915&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="canvas-texture"&gt;
&lt;h2&gt;Canvas texture&lt;/h2&gt;
&lt;p&gt;This would implement a new concept of a software defined canvas texture. Scripts can draw on it, and clients receive updates.&lt;/p&gt;
&lt;p&gt;This has a huge potential range of useful functionality:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Software defined textures&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Script-generated nametags, banners, status displays, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Screen sharing without any external dependencies&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Whiteboard&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Synchronized web entity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Server-side rendered web entity. This would help with the Quest implementation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Basic implementation. Texture object, simple operations like painting pixels and blocks. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/916"&gt;https://github.com/overte-org/overte/issues/916&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Proper canvas API. Support for fonts, graphics primitives like rectangles, circles, curves, etc. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/917"&gt;https://github.com/overte-org/overte/issues/917&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Screen sharing (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/918"&gt;https://github.com/overte-org/overte/issues/918&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Synchronized web surface. (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/919"&gt;https://github.com/overte-org/overte/issues/919&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2024-04-02_NLnet_grant_extended.html"/>
    <summary>We've obtained an extension to the NLnet grant, with the following additional items:</summary>
    <published>2024-04-02T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2024-02-24_Weve_obtained_an_NLnet_grant.html</id>
    <title>We've obtained an NLnet grant!</title>
    <updated>2024-02-24T00:00:00+00:00</updated>
    <author>
      <name>Dale Glass</name>
    </author>
    <content type="html">&lt;section id="we-ve-obtained-an-nlnet-grant"&gt;

&lt;p&gt;The NLnet Foundation is an organization that supports many amazing Open Source projects, and we're elated to announce that we've also made the list!&lt;/p&gt;
&lt;p&gt;As part of the agreement, we commit to keeping users and developers up to date with the progress made on these items at least every two months. For that, we'll keep track of it during our usual Saturday development meetings, and use tags, projects and other functionality on GitHub to make it easy for anyone interested to follow the progress.&lt;/p&gt;
&lt;section id="project-plan"&gt;
&lt;h2&gt;Project plan&lt;/h2&gt;
&lt;p&gt;The funding will be used to pay developers that will work on the areas listed below. There exists the possibility of more work being agreed between us and NLnet.&lt;/p&gt;
&lt;p&gt;The agreed on deadline for completion is February 17, 2025.&lt;/p&gt;
&lt;p&gt;Some of the work has already started and can be seen on GitHub: &lt;a class="reference external" href="https://github.com/overte-org/overte"&gt;https://github.com/overte-org/overte&lt;/a&gt;&lt;/p&gt;
&lt;section id="audio-overhaul"&gt;
&lt;h3&gt;Audio Overhaul&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Move audio zones to zone properties (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/69"&gt;https://github.com/overte-org/overte/issues/69&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add audio entities (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/69"&gt;https://github.com/overte-org/overte/issues/69&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="miscelaneous-improvements"&gt;
&lt;h3&gt;Miscelaneous Improvements&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Add a wantsKeyboardFocus property for web entities (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/6"&gt;https://github.com/overte-org/overte/issues/6&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add interpolation on model animations (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/317"&gt;https://github.com/overte-org/overte/issues/317&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="graphics-improvements"&gt;
&lt;h3&gt;Graphics Improvements&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Fix shadow culling on back-faces (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/547"&gt;https://github.com/overte-org/overte/issues/547&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow opaque particles (&lt;a class="reference external" href="https://github.com/overte-org/overte/issues/776#issuecomment-1868203856"&gt;https://github.com/overte-org/overte/issues/776#issuecomment-1868203856&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finish overhauling TAA with velocity buffer (&lt;a class="reference external" href="https://github.com/overte-org/overte/pull/501"&gt;https://github.com/overte-org/overte/pull/501&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add support for GPU particles&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="vulkan"&gt;
&lt;h3&gt;Vulkan&lt;/h3&gt;
&lt;p&gt;We're currently using OpenGL for 3D rendering. But unfortunately it's fallen out of favor in the last years, and some platforms like Mac are even deprecating it completely. AMD pays very little attention to it, and driver bugs are a frequent annoyance.&lt;/p&gt;
&lt;p&gt;Vulkan will provide a much more modern, performant and supported renderer, and should fix our Mac support woes.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Wireframe rendering&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Forward renderer (for low end hardware)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deferred renderer (fully featured)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optimization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frame transfer to VR plugin&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="build-system-improvements"&gt;
&lt;h3&gt;Build system improvements&lt;/h3&gt;
&lt;p&gt;This will make work on Overte more pleasant and make it easier to build. This is important for making maintenance easier and making life easier for future contributors.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Switching to Conan&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Updating documentation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improving build process&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="thanks"&gt;
&lt;h3&gt;Thanks&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;NLnet, for giving us this great opportunity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Julian Groß, for negotiating this agreement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sam Gondelman, Karol Suprynowicz and AnotherFoxGuy for taking on the work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Overte community, for making this possible.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2024-02-24_Weve_obtained_an_NLnet_grant.html"/>
    <summary>The NLnet Foundation is an organization that supports many amazing Open Source projects, and we're elated to announce that we've also made the list!</summary>
    <published>2024-02-24T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://overte.org/blog/2023-04-01_New_website.html</id>
    <title>New website</title>
    <updated>2023-04-01T00:00:00+00:00</updated>
    <author>
      <name>Julian Groß</name>
    </author>
    <content type="html">&lt;section id="new-website"&gt;

&lt;p&gt;Since our old 11ty based website was unmaintained and no one knew how to edit it, we created a brand spanking new website using Sphinx, the same system that we have been using for our main documentation for years now.
This also allows us, among other things, to finally translate the website to different languages using Weblate.&lt;/p&gt;
&lt;p&gt;If you would like to help translate this website or other parts of Overte, head over to &lt;a class="reference external" href="https://weblate.overte.org/"&gt;weblate.overte.org 🔗&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
</content>
    <link href="https://overte.org/blog/2023-04-01_New_website.html"/>
    <summary>Since our old 11ty based website was unmaintained and no one knew how to edit it, we created a brand spanking new website using Sphinx, the same system that we have been using for our main documentation for years now.
This also allows us, among other things, to finally translate the website to different languages using Weblate.</summary>
    <published>2023-04-01T00:00:00+00:00</published>
  </entry>
</feed>
