Inspiration

The inspiration for World Expo came from our endless curiosity about the world. We dream to explore the world, learn about the cultures, travel, connect with distant friends virtually to explore together. But not every dream is within reach, and planning real world vacations is overwhelming. That's why we created World Expo - an inspiring platform, a new way to explore destinations, connect with local travel professionals, and learn what makes this world amazing. With over 10 years of travel industry experience, advanced engineering expertise, and strong 3D modeling skills, our team is bringing this vision to life - creating an immersive platform that makes the world feel closer than ever.

What it does

Multilingual AI-guided tours - We are currently offering an experimental Midtown Manhattan guided tour, with stops curated by a licensed New York City tour guide. We’re also working on an AI guide that will be able to accompany you wherever you explore. One of the key goals of this platform is to connect travelers with real-world tour guides, enabling authentic virtual experiences powered by human expertise.

Travel anywhere in the world and explore in 3D. Search for a location on the Map in the Main UI, click Go, and instantly teleport to your destination. Fly by using the Grip and Trigger on your left controller. We’re currently working on adding 360° Street View with Gaussian splat overlays for even more immersive exploration.

Countries panel Search for a country you’d like to visit and explore key highlights. Visitor Centers will be available in a future update.

A variety of fun, immersive hubs where you can attend events and hang out (make sure to explore the coral reef in the Main Expo Hall!).

Fully functioning app that supports hand tracking, avatar customization using default avatars or Ready Player Me avatars, scene switching, user count in the rooms, transition screens, and multiplayer.

Main UI: open with the B button on your right controller. Access Hubs, Places, Guide, Map.

Settings UI: open with the Y button on your left controller when inside the environments. Access sit down, stand up, mute, megaphone, fly mode. In environments where fly mode is enabled, use the grip and trigger buttons to fly toward your chosen location. Use the selfie stick to take photos and share them with friends.

A Global Community: Our focus goes beyond immersive exploration. We are building a platform centered on education, connection, and shared discovery, bringing together global travelers, travel professionals, educators, and experts. This community is designed to learn together, exchange knowledge, and celebrate a shared love for exploration. Through virtual events, we aim to highlight traditions and cultures, celebrate moments from around the world, preserve disappearing languages, and raise awareness around climate change.

How we built it

We built this experience using our open-source VR multiplayer framework, Vertex Form 3D, as the foundation. For this submission, we worked from our internal updated development repository, which includes additional features that are not yet publicly released. The architecture includes: Unity 6, Photon Fusion 2, Ready Player Me avatars, remote cloud delivery to keep the APK lightweight, Cesium with Google 3D Tiles for geospatial scenes, OpenXR, hand tracking, and mixed reality support. The environments were sources from a variety of resources, as well as created from scratch internally using Blender. To create a global map, we enabled and integrated multiple Google API services, such as the Geocoding API, Maps JavaScript API, Places API, and Elevation API, and using Cesium to bring these capabilities into our immersive environments. AI is powered by the OpenAI API.

Challenges we ran into

  • Getting elevations to work correctly in geospatial environments, as Cesium and Google API did not work well together with elevations.
  • A variety of issues with Ready Player Me avatars, missing heads in the shadows, missing bodies, avatars having same body, etc.
  • Optimization issues, especially after adding Google Map to the scene, we had to create a new way for the map to load to avoid nausea.

Accomplishments that we're proud of

Adding the world map and enabling users to teleport directly to their chosen destination. Adding and making AI character to work. Overall app experience, beautiful environments.

What we learned

We have built our open source framework for others to use as a base architecture for new apps, and currently working on the upgrade. This project helped us to see where the problems were, and fix them accordingly before updating our framework.

What's next for World Expo

Our next major focus is building a dedicated backend infrastructure to support World Expo. This includes cloud storage, user-generated content, profile management, event creation, user authentication, payments, and other core systems. This backend will power key features such as virtual tours, and secure interactions between travel professionals and global travelers, enabling a sustainable in-platform economy. We want to add customized Visitor Centers for each country, and become a safe place for travel industry and global travelers alike. Continue fixing and improving geospatial experience, especially in the multiplayer mode.

Built With

  • cesium
  • googlemap3dtiles
  • opensourcevrframework
  • openxr
  • photonfusion2
  • readyplayerme
  • unity
  • vertexform3d
  • xrinteractiontoolkit
Share this project:

Updates

posted an update

This week we are working to improve AI tour guiding experience.

  1. Making the UI more polished by adding images so users can visually see what the AI is talking about.

  2. We discovered that only one microphone streamer can exist in a scene at a time, so we removed that component from the duplicate AI instances.

  3. Instead of using an “activation” ring, we are adding Talk and Stop buttons to the UI. This prevents the UI from picking up user conversations when not intended and allows users to stop the AI’s speech.

  4. Making adjustments to prevent the AI from switching to Mandarin when it does not understand what was said. The user must explicitly ask the AI to switch languages.

  5. Syncing the AI in multiplayer. https://www.youtube.com/watch?v=7uvQtEkGmU0

Log in or sign up for Devpost to join the conversation.