Godot Gets Big OpenXR Update Aiming to Attract XR Devs from Unity

10

Godot, the open source game engine, has included basic OpenXR support for a number of years now, allowing developers to easily publish their apps across a variety of XR headsets. Now, Godot just an update that brings even more OpenXR functionality, aiming to make the free and open source engine even more attractive to XR devs.

The News

OpenXR is an open, royalty-free standard lead by The Khronos Group which provides a single, unified interface for developing VR and AR applications. Most XR platforms support it—excluding Apple, which uses its own APIs for Vision Pro.

Now, in the recent 4.5 update, the Godot game engine officially shipped a big OpenXR feature, namely the OpenXR render models extension, which allows for the system to accurately recognize and display platform specific hardware, like controller models—important to a proper sense of immersion when in XR.

Quest 3 Touch Controllers | Image courtesy Meta

Godot’s Lead XR Maintainer Bastiaan Olij says in a blog post the next major step though is on its way, coming in Godot 4.6. In the developer preview (Godot 4.6 dev 1), the engine already now supports OpenXR Spatial Entities, including mixed reality tools like spatial anchors, plane detection, and marker tracking—essentially allowing developers to build persistent, spatially aware MR experiences.

What’s more, Godot 4.6 also adds OpenXR 1.1 support, which includes frame synthesis for improved reprojection. Ongoing work also includes better Quad View rendering, which allows for higher quality rendering at the user’s focal point. A major Android improvement now also allows developers to deploy one universal APK for all OpenXR-compatible XR devices.

Looking ahead, Godot plans to tackle body tracking standardization, more spatial entities, multi-app support, and improved generic controller workflows, Olij says, noting that by funding and supporting Godot, Khronos ensures that its open standards, such as OpenXR, evolve with direct input from the developers who rely on them.

SEE ALSO
Valve Says Steam Frame Development Started Even Before Index Was Released

My Take

When it comes to XR, most apps are developed with the Unity game engine, since its barrier to entry is so low: it’s cheap (or free), has excellent documentation for learning and troubleshooting, and offers cross-platform support.

This is all well and good, provided the company behind it doesn’t alter its fee structure like it did back in 2023, which was poised to charge developers based on game installs after crossing certain revenue thresholds. In short, this would have squashed indie devs and free-to-play devs from the get-go. The structure was also designed to be applied retroactively, meaning anyone who published a game using Unity in the past could actually owe the company money, or be forced to take down their project.

Understandably, the fee structure was met with swift backlash from the developer community, forcing Unity to reverse course. The whole fiasco though reportedly doubled Godot’s user base at the time. Great for Godot, and I hope they can keep up the momentum so competition can always force publicly traded companies to think twice before putting shareholder value ahead of its userbase.

This article may contain affiliate links. If you click an affiliate link and buy a product we may receive a small commission which helps support the publication. See here for more information.

Well before the first modern XR products hit the market, Scott recognized the potential of the technology and set out to understand and document its growth. He has been professionally reporting on the space for nearly a decade as Editor at Road to VR, authoring more than 4,000 articles on the topic. Scott brings that seasoned insight to his reporting from major industry events across the globe.
  • Christian Schildwaechter

    TL;DR: Godot also runs natively on Quest; Unity never tried to rip off indie and free-to-play developers

    One advantage Godot has over Unity is a native version on Quest that allows creating games/experiences from within the headset. So it doesn't require a separate PC, and it can ease the workflow if you can alter the world while you are in it. This is mostly useful for tweaking things or smaller demos, for large projects you'll still prefer working on a flat display, where you also won't be limited to using only GDScript as in the Quest version.

    That version was based on the Android port, by now there is also an iPad version that one day may lead to an AVP version. And on AVP Godot would have the added benefit of not requiring a Unity Pro license. While all other VR platforms work with the free personal Unity license, developing for visionOS currently requires a Pro license.

    This may change with future, more consumer oriented Apple Visions. You initially also needed a Unity 4.X Pro license to develop for the Oculus DK1/DK2, a requirement that was dropped when Unity 5 was released. Unity has overall always been very developer friendly.

    In short, this would have squashed indie devs and free-to-play devs from the get-go. The structure was also designed to be applied retroactively, meaning anyone who published a game using Unity in the past could actually owe the company money, or be forced to take down their project.

    That is complete and utter nonsense. The price changes with the per-installation fee were squarely aimed at free-to-play game mills pumping out masses of titles that make a lot of money through micro-transactions. Unity's license was free if your organizational revenue was below USD 100K per year, above that you were required to buy Unity Pro license seats, which barely any of these companies did. Unity knew that they got millions of installs from ping-backs, but as the whole thing was sort of based on an honor system with companies having to self-report their revenue, there was no way to get them to properly license Unity.

    And Unity left tons of ways around the per-install fee. If you used any of their paid services or their ad network, the fee would be waived, so free-to-play games could still easily avoid the fee. There were very high thresholds for when it would trigger that most indie devs would never have reached, and for the small VR market with moderate install numbers this was basically a non-issue. And you could significantly lower the fee/increase the thresholds if you had a Unity Pro/Enterprise subscription.

    The problem was that all this was extremely poorly communicated, and that there were edge case risks, like "what if my game goes viral and gathers a million installs overnight before I can pull the plug". For these cases there was only Unity's promise to handle this fairly, but the license terms gave them the last word. It still would have been somewhat reasonable to trust them, because it would be(/was) utterly stupid for Unity to piss of its gigantic base of small developers, as only a part of their revenue comes from actual Unity Pro/Enterprise subscriptions, while asset sales and the percentage they get on their ad network bring in a lot from smaller devs.

    Unity's asset store was and still is one of its main advantages over Unreal, Godot or other engines, esp. for smaller developers. Unreal has improved their store, and more asset sales are now engine neutral, but it is still the equivalent to Steam and Steam sales, with regular price reductions luring devs into hoarding tons of assets. So there really was no incentive to drive away smaller developers, and they in fact never wanted to. They just communicated the whole thing in the worst way possible, leading to the now endlessly perpetuated myth that Unity was going rip off their main customer base. Which never happened, they were going after free-to-play license cheaters.

    • xyzs

      The disadvantage is that your game made with Godot will look like it was made on a Casio Calculator though.

      • Christian Schildwaechter

        You must have a Casio Calculator from the far far future then. Godot started out as a mostly 2D engine, but the 3D part has become very powerful over the last few years, otherwise we wouldn't be talking about extended OpenXR support in Godot 4.5. It is still not up yet to the power and performance of Unity or Unreal, but more than capable of running great 3D games.

        A lack of highly polished titles is largely due to Godot still being primarily used by single developers or smaller teams without roles like technical artists, concerned with squeezing every last bit of performance out of an engine. The gaming job market is dominated by Unity, with very few options for Godot developers, which of course impacts both the number and visibility of projects, but that will probably change over time.

        Godot released their 2025 show reel just two weeks ago, featuring mostly games released on Steam. The majority of them is still 2D or stylized 3D, but the number of photorealistic 3D games is growing. The screenshots below are taken from the show reel. youtu_be/7ZwEmxihlw4

        https://uploads.disquscdn.com/images/08f89ea0b5baaf7612bbe7eaaedc40057a1ca4dc53da2393ae36404a07d956bb.jpg

        • xyzs

          Yep I saw the latest demoreel, that was quite ugly.

          Open Source game engines such as Wicked or Flax are years ahead in terms of graphics. Godot is popular because it was there first and because it is quite polished. But the renderer is not good – currently.

  • Andrew Jakobs

    Why mention Unity as a 'free' option only, and not mention the more 'free' UnrealEngine? Unity 100k vs UE 1mil.

    • Christian Schildwaechter

      These are very different numbers. USD 100K was the revenue limit below which you were allowed to use the Unity Personal license, but they upped this to USD 200K during/after the "per install fee" disaster. The USD 1M is the revenue below which you don't have to pay Unreal/Epic 5% of the income made with a game created with UE.

      So let's say a single developer making less than USD 200K creates the next Stardew Valley, selling more than a million copies for USD 15 each in the first two months. If the game was created in Unity, s/he doesn't have to pay anything during the first year, but as the yearly revenue now clearly exceeds USD 200K, has to subscribe to Unity Pro for USD 2200 the next year, at least if s/he intends to continue to work on the game. If the game was created in Unreal, the first USD 1M is license free, but of the remaining USD 14M, USD 700K are owed to Epic in the first year, or USD 750K in the second year, as the USD 1M allowance is once per product, not per year, and this share still applies even if the developer stops using UE.

      This is of course an extreme example, and Unreal will often be cheaper, as the USD 200K Unity threshold is organizational revenue, not product revenue. So someone renting out a few apartments who created a small virtual tour to showcase them in a Quest will have to pay USD 2200 for Unity Pro due to the revenue the apartments generate, while doing the same in UE would be free. Epic has started changing their license though for non-gaming uses of UE that don't result in direct sales like using it for virtual movie sets, which now require a per seat license priced very similar to Unity Pro for entities with revenue exceeding USD 1M, again not bound to a project, but all money going through the company incl. rent, salaries etc.

      So which one is more expensive depends a lot on the type and size of the project. Both will be free for most single or small team developers, unless their projects become very successful. And whatever you have to pay will usually be much less than it would take to recreate the functionality of the engines yourself. Unity only sells per-seat subscriptions, there is no revenue sharing, so there is an upper limit of what you have to pay, and at least in the first year you may get away with nothing at all regardless of how much you make. Unreal targets larger projects and is better suited for large teams due to better workflow and pipeline integrations, with a higher threshold for payments, but no upper limits on how much you might have to pay them.

      • Andrew Jakobs

        Upgrade Requirement: Once your revenue surpasses the $200,000 mark within a 12-month period, you are required to upgrade to a paid plan.

        So with unity it is the same as with UnrealEngine, if your revenue passes the 200k within a year you also need to upgrade. Also if you want to publish to consoles/AVP you need at least the Pro version (and of course like with UE you'll need dev status from Sony, Nintendo and Microsoft).

        • Christian Schildwaechter

          TL;DR: Console development is a (not very tasty) can of worms.

          Yeah, console development is weird in general. You even need "Godot Pro" for that, despite that concept not making any sense for an open source game engine. But the APIs and SDKs used on Playstation and others aren't public, and developers have to sign an NDA requiring not to share them, so it is impossible to directly support consoles in any open source game engine.

          The workaround for Godot was the guys behind it forming a legally separate company that signed the NDAs, and then created a non-open source layer to connect the console APIs to the Godot engine. Their "Starter" plan asks for USD 800/year for a single platform or USD 2000 for all, but there are again limits like USD 300K yearly revenue, beyond which you need the "Pro" plan at five times the price. And if your company exceeds 30 employees, you have to negotiate for the "Enterprise" plan.

          So if you want to release games on PlayStation, Xbox and Switch, your yearly entry fee is USD 2000+, no matter what you use. And the console NDAs don't even allow publicly talking about the conditions under which you are allowed to develop for them. That's one of the reasons why I'm such a big fan of Valve's Linux powered Steam Deck/Frame/Machine. Valve's attitude is "you bought it, you own it, do whatever you like with it", and Linux usually means "you can do whatever you like as long as you give back by sharing the results".

          That's quite some contrast to Sony, who sold the PS3 with the promise of it also running Linux for those that wanted to utilize its tremendous compute power, but then later removed that option again with a forced firmware update. Meta's Horizon OS is based on the open source Android version and they laudably try to implement features using OpenXR, but their own SDKs are all proprietary, making for example cross platform MR development hard. And of course they limit what devs can publish on their Horizon store, so no cloud streaming clients allowed before their own Avalanche PCVR service is ready.

          In the long run Microsoft now driving away users with Windows 11, AI spying, degrading gaming performance, currently neglecting Xbox with the next one planned as a console/PC hybrid for something close to USD 1K, is probably a good thing, because it pushes customers to embrace open source platforms that do away with most of the limited allowed uses, license restrictions, forced stores, denied hackability and lacking repairability and the cost that comes with all that.

  • It's good to see Godot evolving. But it still needs to do a lot before being able to truly compete with Unity

    • Christian Schildwaechter

      In some areas it already outshines Unity, esp. regarding conceptual clarity. Unity does a lot of invisible "magic" inside its game objects, regularly causing some hard to trace issues and performance problems on multi-core system, with DOTS later introduced to work around that as a completely different concept. DOTS now at least seems to be somewhat finished/production ready, but you basically have to redesign you game to use it, and it cannot fully replace game objects, so you end up with a complicated mashup.

      In Godot, everything is a node, and every game is a tree of nodes. It's a much cleaner approach that leads to less "WTF is happening" down the road. IMHO it is a better engine to start with game development, esp. when using GDScript, and many of the concepts and skills are later transferable, while starting with Unity leads to a lot of Unity specific odds knowledge. Godot may be overall less powerful than Unity, with less tools you can buy for it, but the chances of ever getting somewhere beyond the first tutorials to something resembling a finished game are much larger for beginners. It is also way less of a resource hog, which is what allows it to run natively on Quest or iOS/Android in the first place.