Inspiration

The idea was born out of many factors including our experiences in a bustling city like London, where finding your way can be challenging, especially when navigating on foot. The fact that the Quest 3 headsets do not have GPS built-in really striked our creativity and made us realize why this hasn't been made properly yet. Also when trying to find our way to the Epicenter we were lost because of the streets that can go over other streets. We wanted to create a solution that would integrate cutting-edge VR technologies with real-time navigation, helping users get from point A to point B seamlessly. This hackathon, our first one, seemed like the perfect opportunity to apply our skills and take on a real-world challenge, while learning something new along the way.

What it does

CityNav is a VR-enabled, real-time navigation solution for urban environments. Users can input a destination, and our app guides them through the city using AR/VR technologies, combining Google Maps Directions API with a VR interface. This solution is particularly aimed at users wearing the Quest 3 headset, utilizing its passthrough mode to overlay directions and waypoints onto the real world. It's designed to enhance how we navigate cities, especially for tourists and newcomers who need a seamless guide through unfamiliar streets.

How we built it

We built CityNav using Unity (2022.3.30 LTS) and integrated the Google Directions API to provide real-time route navigation. The project required a deep integration of AR/VR concepts with 3D wayfinding elements, rendered in the Quest 3’s passthrough mode. Our process involved:

Configuring Unity for VR development with the Oculus SDK. Implementing the Google Directions API for real-time route fetching. Designing an intuitive user interface in VR for destination input and navigation. Visualizing routes with 3D arrows and markers overlayed on the real world. We worked together to split tasks like setting up the Quest 3 environment, integrating API data, and building the VR interface, all while learning how to incorporate GPS data into a VR experience.

Challenges we ran into

The biggest challenge was balancing real-world GPS data with VR visualization. Ensuring that the waypoints aligned correctly with the user’s real-world position required precise calculations and frequent testing. We also struggled with API limitations, including rate limits and inconsistent responses. Handling the deprecated ARCore classes and switching to XROrigin was another hurdle that delayed us. Lastly, since this was our first hackathon, managing time and splitting tasks effectively was an ongoing challenge.

Accomplishments that we're proud of

We're incredibly proud of delivering a functional prototype that can guide users through a city in VR. Overcoming technical hurdles with the Google Directions API, syncing GPS data, and integrating that smoothly into a Quest 3 passthrough experience felt like a major achievement. Most importantly, we collaborated effectively as a team, learning how to support each other’s strengths and improve on our weaknesses.

What we learned

We learned how to integrate complex APIs like Google Directions into a VR environment and how to adapt AR technologies to work in VR settings, particularly with Quest 3’s passthrough mode. We also improved our skills in project management, teamwork, and time management during a high-pressure event like a hackathon. We gained a deeper understanding of combining real-time GPS data with immersive environments, an area that has immense potential for future development.

What's next for CityNav

Our next step is to polish the prototype and implement more features like voice-controlled input for hands-free navigation. We’d also like to explore refining the UI for more user-friendly interaction and testing the app in real-world scenarios across different cities. In the future, we aim to integrate public transport information and explore partnerships with city tourism boards to make CityNav a widely-used tool for both locals and tourists navigating urban spaces.

Built With

Share this project:

Updates

Submission history