SomaVR is an immersive virtual reality training platform built with Unity that enables interactive 360-degree video experiences with integrated assessments.
- Unity 2019.4.28f1 (LTS) or compatible version
- Compatible VR headset (Oculus Quest 2 recommended)
- Minimum 8GB RAM
- Graphics card with VR capability
This version has been optimized for size and targets specific VR platforms:
- Oculus Quest/Quest 2 (primary)
- Other platforms may require additional SDK installation
The platform-specific plugin binaries are not included in this repository to reduce size. They will be automatically restored when you import the required SDKs
For other VR platforms, please install the appropriate SDK:
- SteamVR: Available on Unity Asset Store
- Windows Mixed Reality: Available through Unity XR Plugin Management
- Google VR: Available on Unity Asset Store.
- Clone this repository
- Open Unity Hub
- Add project by selecting the downloaded folder
- Open project with Unity 2019.4.28f1
Due to file size limitations and ethical considerations, the training videos used in the COVID-19 IPC and surgical training projects are not included in this repository. To add your own videos:
- Navigate to
/Assets/Interactive360/Videos/ - Add your 360-degree video files (supported formats: .mp4, .mov) Here is an example of one the 360 videos that we used(https://drive.google.com/file/d/1O6v09u_h4Sml4lpK1aFM2iKeBcvPIB_P/view?usp=sharing)
- Ensure videos are encoded with:
- H.264 codec
- Equirectangular projection
- Recommended resolution: 4K (3840x2160) or higher
- Stereo or mono format
- In Unity Editor, right-click in Project window
- Select Create > SomaVR > Question Set
- Fill in the question details:
- Module ID and Name
- Questions with timestamps
- Multiple choice options
- Correct answers
- Feedback messages
- Open the main scene in
/Assets/Interactive360/Scenes/MainScene - Ensure the following components are present:
- VideoPlayer
- QuestionManager
- APIService (if using external data collection)
If using the data collection feature:
- Open
/Assets/Interactive360/Scripts/APIService.cs - Update
API_BASE_URLwith your endpoint - Modify data structure if needed
- Press Play in Unity Editor to test
- Use the VR controllers to:
- Navigate menus
- Select answers
- Control video playback
- Questions appear automatically at specified timestamps
- Performance data is collected and stored locally/sent to API
If you use this code in your research or project, please cite:
TBD