With CAVERN Jam scheduled for Monday of Week 6, this week was dedicated to preparing for our first major user test. Unlike internal testing, where we control every variable, this would be the first time Spelunx was in the hands of external developers—people who would engage with the toolkit in ways we might not have anticipated. To make the most of this, we needed to refine the toolkit, structure the event to gather meaningful usability insights, and ensure that all technical components were stable.
At the same time, we had a breakthrough in Vive Tracker integration, solving a long-standing issue that had frustrated previous CAVERN teams. We also continued researching past ETC projects, testing Hycave’s abandoned scene with our toolkit and interviewing former developers to gain insight into common challenges in CAVERN development.
Structuring CAVERN Jam – A User Test Disguised as a Game Jam
A major challenge in preparing for CAVERN Jam was ensuring that participants could effectively test Spelunx without getting lost in open-ended experimentation. If we gave them no structure, they might struggle to engage with the toolkit meaningfully; if we overly constrained them, they wouldn’t be using it in real-world development conditions.
To balance this, we designed the event around a focused challenge:
“Build one meaningful interaction that showcases CAVERN’s unique affordances using Spelunx.”
This format allowed participants to explore core features of the toolkit—stereoscopic rendering, Vive Tracker input, surround sound, and sample scenes—without needing to build an entire experience from scratch.
What We Provided to Participants
Since this was our first real usability test, we wanted to make sure that barriers to getting started were minimized. To support participants, we prepared:
- A pre-configured Unity project containing Spelunx’s core features, so developers didn’t have to manually set up anything.
- Step-by-step onboarding tutorials that walked through the essential tools and how to use them.
- Live support—our team was present throughout the event to answer questions and observe developer workflows.
- A pre-survey and post-survey, allowing us to track participants’ backgrounds, pain points, and overall impressions.
- An incentive system (boba!), ensuring that participation remained high and that people stayed engaged.
How We Measured Usability
Observing participants in real time provided critical insights into where Spelunx was intuitive and where it wasn’t. Instead of just asking developers whether they liked the toolkit, we tracked how they used it and looked for patterns, such as:
- Which tools were discovered naturally, and which needed explanation?
- How long did it take for participants to build their first interaction?
- Were there common points of frustration, confusion, or inefficiency?
We also gave participants freeform interaction with Spelunx, rather than forcing them through a rigid tutorial. By watching where they struggled or where they found workarounds, we could pinpoint what needed refinement in future iterations.
This wasn’t just about seeing if developers could use Spelunx—it was about understanding how they used it, where they hesitated, and what could be improved.
Vive Trackers: From Persistent Crashes to a Stable Solution
One of the biggest remaining technical hurdles before CAVERN Jam was ensuring that Vive Trackers worked reliably. Previous teams had struggled with frequent crashes, inconsistent tracking, and complex configuration setups that added friction to development. Since CAVERN Jam involved testing Spelunx’s ability to handle input systems, we needed a solution that wouldn’t interrupt participants’ workflow.
Over time, different teams had tried five different approaches to integrate Vive Trackers, each with its own trade-offs:
1️⃣ OpenXR + OpenVR + SteamVR – The most widely used method, but prone to crashes and outdated dependencies.
2️⃣ OpenXR + OpenVR + unity-openvr-tracking – Allowed trackers without a headset, but caused Unity to crash upon exiting Play mode.
3️⃣ OpenXR + Vive Tracker Profile – Could have eliminated OpenVR, but only worked if a VR headset was plugged in.
4️⃣ Vive Input Utility (VIU) – Supported both Vive Trackers and Controllers, but initially required multiple dependencies.
5️⃣ Libsurvive – A complete SteamVR replacement, but required reconfiguring all tracking hardware.
For most of the semester, we had been refining option 2, modifying unity-openvr-tracking to simplify setup. However, the persistent Unity crashes made it clear that this approach wasn’t reliable enough for real-world development.
The breakthrough came when we revisited option 4, Vive Input Utility (VIU). Initially, VIU seemed overly complex, requiring OpenXR, OpenVR, and SteamVR all running at once. However, after examining its implementation, we realized that VIU handled tracking differently, avoiding the crash issue that plagued OpenVR.
By combining our previous modifications to unity-openvr-tracking with VIU’s more stable tracking approach, we created a hybrid solution that eliminated crashes while maintaining compatibility with our existing setup.
The final result was a fully functional, crash-free Vive Tracker integration, ensuring that CAVERN Jam participants could experiment with input tracking without technical disruptions.
Testing Spelunx Against Past CAVERN Projects
To validate our work, we also tested Spelunx against past CAVERN projects. A key moment was running Hycave’s abandoned scene through our toolkit. This scene had been scrapped in a previous semester due to camera and rendering limitations, but when tested with Spelunx’s optimized rendering pipeline in Unity 6, it ran smoothly.
This test confirmed that our improvements weren’t just theoretical—they actively solved real problems that had stopped past teams from completing their projects. Seeing this scene work for the first time was a strong indication that Spelunx was meaningfully improving the development process.
Additionally, we continued interviewing previous ETC teams to gather long-term insights on recurring challenges in CAVERN development. Many former developers cited a lack of documentation as one of the biggest struggles—each team had to rediscover solutions that previous groups had already found.
By consolidating this knowledge into Spelunx, we aimed to prevent future teams from losing progress and ensure that technical discoveries build on each other rather than being forgotten each semester.
Camera 3.0 – Head Tracking
Being a physical space, players are encouraged to move about in the Cavern. The player’s position can also be tracked using accessories such as the VIVE Tracker. An example would be a game where a creepy set of eyes follow a player as they move about.
However, since the camera is currently assumed to be in the centre of the screen when calculating P, this creates the issue where the perspective of the rendered image is incorrect when the player moves away from the centre.
In the case of the above game example, the eyes might look like they are looking at the player when they are standing in the centre of the space, but appear to be looking past the player when they walk around.
The fix is relatively simple. Rather than splitting the screen into quadrants at the centre, we just split the split from the head.

Other Updates
Outside of CAVERN Jam preparation and technical testing, we made several key refinements:
- We met with Carl to discuss how to communicate Spelunx’s impact more effectively. His feedback helped us shape our narrative—rather than just listing features, we should emphasize the problems Spelunx solves and the challenges we overcame.
- We finalized and sent the structured learning roadmap to Stacey at South Fayette, ensuring that students can onboard gradually without being overwhelmed.
These discussions helped shape our approach for how we present Spelunx moving forward—not just as a toolkit, but as a solution to long-standing CAVERN development challenges.
Next Steps – Running CAVERN Jam and Analyzing Results
With all preparations complete, CAVERN Jam is happening on Monday at the start of Week 6. Now, we shift to:
- Observing how developers engage with Spelunx in real-time.
- Analyzing usability bottlenecks.
- Gathering structured feedback for refinement.
Stay tuned for Week 6 updates, where we break down our findings from CAVERN Jam! 🚀