Overte: A New, Free and Open Source Social VR Platform, Built on the Original High Fidelity Source Code

Overte is a free and open source (FOSS) social VR platform, which embraces the open source philosophy through and through.

Overte is a spin-off (or “fork”) of the existing Vircadia project. Like Vircadia and its sister platform Tivoli Cloud VR, Overte is built upon the foundation of the original High Fidelity codebase, which the company open sourced after they closed their social VR platform and became a spatialized audio company. (By the way, Tivoli Cloud VR ceased operations on February 21st, 2022.) So, while Overte is a relatively new project, it definitely has a distinguished pedigree!

According to the user documentation:

Overte is open-source software which enables you to create and share virtual worlds as virtual reality (VR) and desktop experiences. You can create and host your own virtual world, explore other worlds, meet and connect with other users, attend or host live VR events, and much more.

The Overte virtual worlds software provides built-in social features, including avatar interactions, spatialized audio, and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment. No matter where you go in Overte, you will always be able to interact with your environment, engage with your friends, and listen to conversations just like you would in real life.

The key features of Overte are:

  • Collaborative world creation and editing.
  • Steam VR support, including full-body tracking.
  • Excellent scalability, allowing events with as many as 500 users in a single virtual world.
  • Scripting in JavaScript which allows creation of games, interactive event, new UI elements and custom applications.
  • Support for Windows and Linux (downloads here), with MacOS support coming soon.

Overte is operated and maintained by a German non-profit corporation, the Overte e.V Association, whose sole purpose is promoting and distributing FOSS Social VR software in general, and Overte in particular. You can read the articles of association here. Anybody can join the association as a member (currently the yearly membership fee is 60 Euros). Please note that it is NOT required to be an association member to use or help develop Overte! However, members do get to vote on the future direction of the project at regular meetings.

I did a text chat interview with the six board members of the Overte platform and their chair, Dale Glass:

Ryan: Could one or more of you please explain why you felt the need to create a fork from the High FIdelity/Vircadia code? What is the main difference between Vircadia and Overte?

74hc595: One of the most important motivations was the need for having clearer organizational structure. The idea of non-profit is motivated by KDE e.V., which is a German non-profit organization that manages K Desktop Environemnt source code.

catraxx: KDE is merely the inspiration for how we organize. We are not connected to them.

Dale: Some have issues with Vircadia’s direction and interests, and some want a better organizational structure.

Ryan: So the servers running Overte run on Linux, not Windows?

74hc595: They can run on both. On Windows it’s amazingly simple – you can create your own server hosting your virtual world with just a few clicks.

Ryan: And I understand you are also working on a Mac version, too, right?

74hc595: We already have Mac version, but not all features work there yet.

Ryan: I would like to better understand how you are structured, and what is different about being a non-profit compared to say a commercial company creating a metaverse platform.

74hc595: The non-profit itself is registered in Germany, and all board members are democratically elected by members of the non-profit. The most important thing is motivation. Being a non-profit allows us to focus on making amazing virtual world software without worrying about monetizing it in any way. There’s a membership fee to join the non-profit and get voting rights, but of course anyone is welcome to use the software. Overte is released on Apache 2.0 open source license.

Ryan: I assume that this is a volunteer organization and that nobody is getting paid or drawing a salary, right?

catraxx: We are not getting paid, that is correct.

Ryan: Would you say that this drive to monetize is what separates you from Vircadia? I believe they were exploring using blockchain/crypto/NFTs, right? And you’re not, right?

74hc595: The risk of NFTs being introduced there is one difference—we have no intentions of monetizing Overte in any way (but of course commercial worlds created by users are possible).

Ryan: Are you sharing additions to the codebase between Overte and Vircadia, or are they completely separate forks nowm each going in their own direction?

74hc595: Each is going in it’s own direction, but the license is the same, so parts of code can be shared, as long as the copyright notice remains. We aim to remain compatible for as long as that’s practical.

Ryan: Have you been in touch with the Tivoli Cloud VR people since they shut down their platform, and do they have any code you would like to add to Overte?

74hc595: Most definitely, yes. It’s amazing that they decided to relicense their code as Apache 2.0 so it can be used by us. They did amazing work in it. I was really sad they closed, because I wanted to achieve interoperability with their servers too.

Dale: We’re looking into incorporating Tivoli code, but so far things have been a tad busy. They’ve changed their build process considerably, and that put a bit of a damper on things, but we’ll get there…Incorporating Tivoli code will take time and effort. They did great work but we still have to look at what they did, what works for us and what may not, and to review it—we want to avoid code from any contributors that may not be onboard with the relicensing idea, for instance.

74hc595: Overte is also compatibile with Vircadia, and Vircadia worlds can be visited from our client.

Ryan: Oh I did not know that! People can just download the client software from your website, right?

74hc595: Exactly. For now it will be on our website, and probably also Windows Store soon. In the longer term, it would be amazing to provide packages for popular Linux distributions.

Ryan: What do you see as the three most important things that you have to accomplish over the next year? Your top three must-do things.

74hc595: I think that the absolutely most important thing will be upgrading our codebase to use new scripting engine, because the one we currently use is being deprecated. It would also allow us to upgrade to Qt 6, because Qt 5 libraries will get deprecated at some point too.

Dale: My personal list: 1. Finish cleaning up the code. Which is almost done, most of the required changes already made it in. This is mostly boring but important for quality. 2. Dynamic textures. It’s a big project with multiple levels. 3. Inter-domain communication. But I definitely agree with the scripting engine part as well.

Ryan: What do you mean by “inter-domain communication”, Dale?

Dale: I have this rough idea that domains could allow other domains to do things like fetching assets and connect to audio from them. So for instance, picture a large convention, where you have some sort of central hallway, then each talk is its own domain. One thing I want to have is that a domain can export audio streams that then could be played in the hallway. So you can walk past a door that actually leads to another server, but hear if there’s something big going on inside. Not necessarily limited to audio, but that’s also likely to be a big enough project, so we’ll see how that goes!

Ryan: Does Overte support spatialized, 3D audio, and if so, do you use High Fidelity’s spatialized audio product or something else? I know HiFi wanted to take that part out and sell it, and they have, to places like Sine Wave Entertainment (Sinespace/Breakroom).

Dale: High Fidelity had a proprietary audio codec, but that’s just audio compression. We don’t have to use that to have spatial audio. The actual spatial audio is in the Apache 2 licensed code so we can use it without any issues.

74hc595: For me, working on improving collaborative creation tools in Overte has topmost priority. One of the biggest strengths of our software is the ability of creating worlds together with friends, and changes to the world being persistent. I want to develop creation tools so that virtual world creation is possible entirely in game. Right now I’m working on voxel editing tools that will allow creating terrain and buildings in a similar way to Minecraft. It will be very intuitive for new users. Another of my priorities is improving graphics quality, especially by implementing real time raytracing…The collaborative creation is one of the most amazing aspects for me. For example just a week ago I was hanging out with friends at Overte Hub, while a fried was creating his art gallery there. Creating worlds together is a magical experience for me.

Ryan: Are you in touch with any of the former High Fidelity employees? Are any volunteering to help you develop Overte?

Dale: We know a few people that worked on HiFi, yes. Some prefer to be discreet, so we won’t name them publicly.

Ryan: What else do you want people to know about Overte? What do you need? Coders? Donations? More people using Overte?

Dale: I don’t think we’d say no to any of those!

Moto: We can always use contributors of course. Do we need donations? We don’t need them. The membership fees will take care of the running costs. Even without a dedicated bank account we can accept donations or sponsorships though. We actually already have a server sponsored by FOSSHOST (aarch64 build server).

catraxx: Honestly come and talk to us. We are very approachable people in general…It is important to us that our code is open and available to everyone. People should always have the ability to learn from what we do, which really includes all parts of the organization, down to even the website.

Ryan: How much of the original HiFi codebase have to had to scrap and rebuild from scratch?

74hc595: Almost all the codebase remains and we are building on top of it. We will probably remove some unused, but remaining code for things like financial transactions.

Dale: The original HiFi code, in my opinion, is mostly excellent. I mean, some bits are crustier than others, but I think on the whole they did a very good job.

catraxx: It was a big project.

Dale: There’s the audio codec, which is proprietary, but that was already replaced in the Vircadia days with Opus.

catraxx: That in itself is a good campfire story.

Ryan: Noted. For a future blogpost, perhaps. How easy is it to bring an avatar into Overte from say, VRChat?

74hc595: A lot depends on bone naming conventions, but generally it’s less than 2 hours of work, and some work immediately.

Ryan: So speaking of Github, basically anybody can add to the open source code, but there’s a process to what gets added to the official Overte platform, right? Is this where the voting part comes in? (I’m not super knowledgable about Github, by the way.)

74hc595: True. Every change (pull request) is reviewed, and then carefully tested on different platforms.

Ryan: Well, I can’t think of any other questions at the moment. Is there anything you think I should ask? And I definitely need to download the Windows client and visit in my Valve Index! When are your weekly meetings in world??

74hc595: That would be awesome! We meet on every Saturday at 19:00 UTC…I’d like to add that everyone interested is welcome to join our Matrix and Discord servers and out weekly meetup at 19:00 UTC on Saturdays. We typically get about 11-13 people.

Here’s a gallery of images showing you what the Overte platform looks like (please click on any image to see it in full size). As you can see, you can already do a lot!

Since Overte is an open source project, you are very welcome to contribute to the development project! A weekly developer meeting (where all merge request will be discussed), takes place:

Where: the Overte VR – Overte Hub
When: Saturdays at 19:00 UTC (noon, Pacific Standard Time)

For more information about Overte, please visit their new website, join their Discord server, or follow them on Twitter. You can check out Overte’s user documentation, API documentation, and the project’s GitHub repository.

Liked it? Then please consider supporting Ryan Schultz on Patreon! Even as little as US$1 a month unlocks exclusive patron benefits. Thank you!
Become a patron at Patreon!