Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VR Tour 360

A small Unity XR prototype for exploring linked 360-degree locations in virtual reality. It was built as a focused exercise in C#, Unity data modelling, runtime UI generation, and XR interaction.

What it demonstrates

  • Data-driven tour locations using ScriptableObject assets
  • Reusable hotspot definitions linking one panorama to another
  • Runtime creation and positioning of interactive hotspots from yaw/pitch coordinates
  • XR interaction through Unity's XR Interaction Toolkit and OpenXR
  • Dynamically generated location-selection UI
  • Coroutine-based fades between panoramas
  • A custom inside-facing unlit panorama shader
  • Universal Render Pipeline configuration for multiple quality levels

How it works

Each LocationData asset stores a display name, an equirectangular panorama, and a list of navigation hotspots. TourManager applies the selected panorama to an inside-facing sphere, converts each hotspot's yaw and pitch into a 3D position, and creates XR interactables that link to other locations.

The included prototype contains three connected environments: Cedar Bridge, Little Paris, and Smelting Tower.

Requirements

  • Unity 2022.3.41f1 (2022 LTS)
  • A supported OpenXR headset, or the included XR Device Simulator for editor testing
  • Unity Hub is recommended for installing the matching editor version and platform modules

Getting started

  1. Clone the repository.
  2. Open the project folder in Unity Hub with Unity 2022.3.41f1.
  3. Allow Unity to restore packages and import assets.
  4. Open Assets/Scenes/SampleScene.unity.
  5. Enter Play mode with the XR Device Simulator, or build for a configured OpenXR target.

The first import can take a few minutes because Unity must recreate the ignored Library directory and import the HDR panoramas.

Project structure

Assets/
├── Images/       HDR panoramas
├── Locations/    ScriptableObject location definitions
├── Prefabs/      Hotspot and menu-button prefabs
├── Scenes/       Main tour scene
├── Scripts/      Project-authored C# gameplay code
├── Shaders/      Inside-facing panorama shader
└── XR/           XR loader and OpenXR configuration

Prototype scope

This is a portfolio prototype rather than a production release. It focuses on the core tour architecture and interaction loop; automated tests, platform-specific deployment polish, accessibility options, and a final art/UI pass are outside its current scope.

Third-party assets

The panorama images are from Poly Haven and are available under the CC0 licence:

The repository also contains imported Unity package samples and TextMesh Pro resources, which remain subject to their respective package licences.

Licence

The project-authored source code and assets are available under the MIT Licence, so you may use this project as a base for your own work, including commercial projects.

Third-party content is not relicensed by this repository. The Poly Haven panoramas are CC0, while imported Unity package samples and TextMesh Pro resources retain their respective licences.

About

VRTour360 - Unity project allowing switching between 360 panos for VR

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages