Ubiq and open-source in social virtual reality for education

by Sebastian Friston, UCL, UK.

At UCL Computer Science, we have run a course on Virtual Reality for over 20 years. Virtual Reality has many roles in education. Our course is on how to build virtual reality itself, with an emphasis on team-based coursework and practical, hands-on experience.

VR has seen a resurgence in the last 10 years due to renewed commercial interests. The latest of these is social VR – virtual worlds inhabited and shared by multiple people. Combined with the trend towards more remote learning, it was natural for us to base our coursework on social VR.

As VR has progressed, so have the tools available to students. Nowadays, students use popular game engines like Unity to construct rich worlds. Tools to build social experiences however, are surprisingly absent.

This is not because there are no social platforms – on the contrary, there are over 130. Rather, it’s because their business models – such as selling Infrastructure-as-a-Service – directly conflict with common requirements for teaching and research. Requirements such as having full source code access to learn from, and the ability to run everything locally for data protection considerations, among others.

In response, we created our own toolkit, Ubiq, which handles the social and networking aspects of VR.

At the time this was quite a risk. There’d be no alternative for our course if it failed. While educators often provide pieces of code with their modules, building a whole social VR library is something else. We needed to make our code work reliably on every platform students might bring, and get to grips with running services over the public internet. We used all our experience of teaching VR in designing Ubiq. For example, we know students prefer to hack samples to achieve their goals where possible, so ours make this as easy as possible.

Ubiq has been used for teaching and research at UCL for three years now. Every year we vary the coursework slightly. Examples include collaborative training, to construction tasks, to designing a virtual venue.

Our students have achieved impressive results. Even in the first year, the decision to use a bespoke library was validated, as students turned in highly original ideas that would be difficult to implement with other libraries, and impossible on existing commercial platforms.

Figure 1. A selection of student courseworks. In Two Scale Maze (top-left), half the players are shrunk down and go inside a table-top Maze, in order to instruct the other half how to move it’s tiles around to make it navigable. In CoRails (top-right) teams harvest resources to build a track in front of a moving train before it goes off the end. In Transballer (bottom) teams build Rube-Goldberg machines to transfer balls from one side of a room to another over obstacles.

Another benefit of maintaining Ubiq ourselves, is that each year we can make improvements based on our observations during the course. This can be fixing bugs & making the API more intuitive, to adding features if teams repeatedly reinvent the same thing.

Just as when students moved from writing OpenGL code to using Unity, we do not see improved tools as making the coursework “easier”, but rather allowing students to be ever more ambitious in demonstrating what they’ve learnt.

Ubiq is now in use by Universities around the world, in different courses and research projects, such as those on interaction and mixed reality.

But what’s most exciting, is the potential for accessible social VR in education beyond Computer Science.

An example is VheaRts, an application created by the Clinical Cardiovascular Engineering group at the Institute of Cardiovascular Science & Great Ormond Street Children’s Hospital. This is a shared virtual space where surgeons, tutors and students can explore 3D models of scans of patients’ hearts.

VheaRts originally used Photon, but now uses Ubiq as its abilities and open-source nature are less restrictive. These benefits culminated at the 8th World Congress of Paediatric Cardiology and Cardiac Surgery, where the team were able to run their own server and WiFi network, reliably connecting 40 users in VR over five days, fully isolated from the convention centre’s congested network and internet connection.

“With Ubiq we were able to scale up the offer of VheaRts by ensuring a stable and secure multi-user experience. This was required to exploit fully the collaborative environment designed to assess highly accurate anatomical models.”
Claudio Capelli, VheaRts programme lead.

Figure 2. Dr Andrew Cook demonstrating a heart procedure using VheaRts at WCPCCS 2023

If VR can add value in education, social VR can do the same, while also making available the benefits of group learning, and addressing one of the biggest issues with VR: that it is an isolating experience.

Beyond this, allowing students to build their own virtual experiences allows them to engage more actively, with more opportunity for self-directed learning.

While nominally a Computer Science course, we accept students from any programme. In the labs, our students mainly ask questions about project set-up, or features, but have notably few questions about networking. This suggests Ubiq’s design is successful in being accessible, while maintaining the freedom to do things exceeding the capabilities of closed platforms.

We are a long way from the “Photoshop for VR”, but tools like Unity have made creating VR experiences accessible to those far outside traditional computer graphics backgrounds.

As tooling such as Ubiq improves, we hope this accessibility could soon extend into the virtual social realm as well.


Sebastian Friston is a Research Associate in the Virtual Environments and Computer Graphics Group, in the Department of Computer Science, University College London.
His research interests are in high-fidelity, immersive VR and building distributed interactive systems.