An advanced VR education classroom featuring specialized AI tutors for different subjects. Experience personalized learning through immersive virtual reality with curriculum-aligned AI teachers who adapt to your learning style.
Google Drive Demonstration Video (12.5 mins)
- Specialized AI teacher in an Interactive VR environment: Mr. Rashid (Biology)!
- RAG-powered curriculum accuracy for official secondary education standards!
- Multi-intent detection: Q&A, explanations, summaries, exam prep, and more!
- Optimized responses perfectly crafted for display and text-to-speech!
- Contextual memory that remembers your learning journey across sessions!
- Quiz Mode where you can follow up your quizzes and test your knowledge and have the result immediately!
- Egyptian secondary senior biology curriculum mastery.
- Specializes in cellular biology, genetics, human systems, and ecology.
- Patient mentor who makes complex biological concepts accessible.
- Available in Free Questions mode and Quiz mode!
- In the long term, we plan to include Ms. Inas, a Chemistry Specialist and Mr. Sheriff, a Physics Master as part of our program
- You could also register as a teacher with us! Contact: yousef.gomaa@ejust.edu.eg
- Meta Quest 2/3/3S with ≥1 GB free storage.
- A good USB-C cable (USB 3.0 preferred) or Air Link (optional). (for development build)
- Install the Meta Quest app on your phone and log in with your Meta account.
- Pair your headset in the app.
- In the phone app: Menu → Devices → your Quest → Developer Mode → On.
- Reboot the headset, then enable "Allow USB Debugging" when connecting the cable with your preferred device of choice.
- Install SideQuest (desktop).
- Plug in the Quest, ensure the top-left dot in SideQuest is green (authorized).
- Download the latest APK release from the Releases sidepanel.
- On SideQuest, select Install APK from folder (down-arrow icon) → pick your .apk → wait for "Success".
- Now you can run the application locally through: Apps → filter Unknown Sources → launch your app.
- Clone the repository (with Git LFS).
- Import the project with the exact Unity version from ProjectSettings/ProjectVersion.txt (via Unity Hub).
- Unity packages/dependencies are included in Packages/packages.json
- RAG servers would require you to install the packages in each respective directory's ~/requirements.txt
- Configure your build with the following: Android / Oculus XR / ARM64 / IL2CPP.
- Launch the build using Playmode.
DISCLAIMER:
- You would need to host and connect (through the inspector) your own RAG/LLM/SQL servers on your machine using the models (optional) uploaded in ~/RAG Models/ and database backup uploaded in ~/SQL/ as well as any API keys.
- EXAMPLE:
-
- Set up your curriculum data files:
Bio_curriculum_chunks1000_over20.csv,Bio_curriculum_faiss_index_1000_over20.bin - Configure server settings:
API_KEY = "your_groq_api_key" HOST = "your_server_ip" PORT = 8000
- Start the server:
python mr_rashid_server.py
- Set up your curriculum data files:
-
- EXAMPLE:
- Login with your account.
- Connect to your chosen VR learning classroom.
- Interact & get personalized explanations from your AI teacher (Mr. Rashed shown).
- Explore Quiz mode and challenge yourself.
- What makes Classroom VR teachers different from other AI tutors?
- ANSWER: Classroom VR teachers, for example Mr. Rashed, are specifically designed for their respective curriculum (e.g. Egyptian senior highschool year biology) with RAG-powered accuracy. Unlike generic AI models, it provides customized responses, remembers your learning context, and automatically detects what type of help you need (explanations, summaries, exam prep, etc.).
- Built in Unity 6 with Universal Render Pipeline (URP)
- Android Platform (ARMx64)
- Unity Sentis (also known as Unity Inference Engine) for execution of AI models
- Meta XR SDK (previously known as Oculus Integration) for VR framework
- SQL Database as a medium for storing users/teachers information, the schema shown below:
- Open AI's open-source Whisper Tiny for automatic speech recognition. (supports English/German/French)
- A state machine manages and runs the spectrogram model, encoder model, and decoder model.
![]() |
|---|
| Whisper Tiny Architecture (Source) |
- Piper (Piper phonemizer + eSpeak NG text-to-speech synthesizer) for free-software neural text-to-speech.It is made using VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech.
![]() |
|---|
| VITS Pipeline (Source) |
- Generated audio is processed and in turn generates visemes which are used for OVR Lip Sync with teacher model's facial blendshapes.
- There are 2 types of prompts generated and used in this project, both of which use TCP/IP communication with external servers hosting RAG models, and each accommodate for a specific mode:
- Free Questions Mode: In this mode, you are free to speak to the chosen teacher, asking them to explain, summarize, generate mindmap/questions in relation to the assigned curriculum. The model blocks the user attempts when asking for anything out of context.
- Prompt & Response Examples as taken from the Demonstration Video's logs: (JSON format)
- Free Questions Mode: In this mode, you are free to speak to the chosen teacher, asking them to explain, summarize, generate mindmap/questions in relation to the assigned curriculum. The model blocks the user attempts when asking for anything out of context.
| Prompt |
|
| Response |
|
| Prompt |
|
| Response |
|
| Prompt |
|
| Response |
|
| Prompt |
|
| Response |
|
- Quiz Mode: While in this mode, which you are only able to join during specific times (queried through SQL database), the models generate 10 questions on a topic and with exam notes decided by the teacher and stored in the SQL database, which are answered via STT, the results are then stored in the SQL database.
- Prompt & Response Examples as taken from the Demonstration Video's logs: (Received as String)
| Prompt |
| {"title": "Hormonal Coordination", "notes": "Covers all of the lesson, 5 question easy 3 intermediate and 2 hard for clever students"} |
| Response |
|
- RAG models use Sentence Transformers for semantic embedding generation, FAISS for similarity search and clustering and GROQ API (temporarily) for high-performance inference.
- Most models and textures are made firsthand using Blender, while some textures (like the logo, and decals) are generated via Stable Diffusion.
- @MarwanZaineldeen - Marwan Tamer Hanafy Zaineldeen - Project Lead & AI Engineering
- @37743 - Yousef Ibrahim Gomaa Mahmoud - Unity Development & AI-VR Integration
- @MaiYasser03 - Mai Yasser Ouf - NLP Expert & Database System Administration







