Overview

The Lesson Controller feature serves as the primary interface for users to choose from various lessons or modules within the VR application. It provides a structured, intuitive environment for users to explore and access different lessons, manage lesson transitions, and interact with lesson content effectively. Additionally, it manages the loading and unloading of scenes and handles lesson assets, ensuring a seamless and efficient transition between lessons.

Purpose

  • To provide users with an organized and efficient way to navigate and select different lessons or modules.
  • To manage the loading and unloading of lesson-specific scenes and assets for optimized performance.
  • To dynamically update available lessons based on user progression, ensuring lessons are presented according to user needs.
  • To offer a seamless transition from lesson selection to the start of the lesson, enhancing user experience.

Functional Requirements

Lesson Selection Interface

  • Display a grid or list of available lessons/modules, each with a brief overview, icon, and start button.
  • Dynamically update the lesson step ui based on user progress, guidance item completion, and instructor input.
  • Allow navigation between modules when outside of a lesson to select different lessons.

Lesson Interaction and Navigation

  • Users can start, exit, and restart lessons at any time, with scene loading and unloading managed seamlessly.
  • Display lesson step text and play the corresponding voice-over for each step.
  • Offer options to:
    • Mute/unmute the lesson step voice-over.
    • Replay the voice-over for the current step if needed.
    • Navigate through steps using next and previous step buttons.
    • Toggle auto-advance to automatically proceed to the next step when the voice-over is completed and all required actions are fulfilled.
  • Provide indicators for:
    • Step Indicator: Shows the current step number and the total number of steps in the lesson.
    • Progress Indicator: Displays how many actions remain for the current step, giving users a visual cue of their progress.
  • Allow users to toggle a view of a checklist that displays the actions or guidance items needed for the current lesson step.

Guidance and Feedback System

  • Provide immediate visual feedback when an action is completed, automatically updating the checklist and indicators.
  • Offer a results summary at the end of each lesson that shows the user’s performance, including completion time, steps taken, and overall efficiency.
  • Support lesson replay or restart functionality from the results screen or upon lesson exit.

Scene and Asset Management

  • Efficiently load and unload scenes associated with each lesson when selected or exited, optimizing performance.
  • Manage lesson assets (e.g., audio files, 3D models) to ensure they are available and displayed correctly during lessons.
  • Utilize pre-loading and unloading techniques to optimize performance and reduce loading times during lesson transitions.

Success Criteria

  1. Lesson Selection Interface

    • The lesson selection interface displays all available lessons/modules accurately, complete with icons, overviews, and dynamically updating options based on user progression or module availability.
  2. Lesson Interaction and Navigation

    • Users can start, exit, and restart lessons seamlessly, triggering appropriate scene loading and unloading processes without errors or interruptions.
  3. Scene and Asset Management

    • Scenes and assets associated with each lesson are loaded and unloaded efficiently, with no noticeable performance issues or disruptions.
    • The system optimizes resource usage by pre-loading critical assets and unloading unnecessary ones to maintain performance.
    • The transition between scenes is seamless, with loading screens or visual transitions providing a smooth experience for users.
  4. Checklist and Progress Indicators

    • The checklist and progress indicators accurately display current step requirements and overall lesson status.
    • Users receive real-time updates when actions are completed, and the system automatically marks off checklist items.
    • Step and progress indicators remain in sync with user actions, ensuring that the user is always aware of their current status and next steps.
  5. Voice-Over System

    • The voice-over system offers mute/unmute and replay functionality, with each lesson step synchronized to ensure the narration matches the visual content and checklist.
    • Audio quality remains consistent, and playback begins without delay when a lesson step is activated.
    • The system detects when the voice-over finishes and checks for remaining checklist items, integrating seamlessly with auto-advance or manual user controls.
  6. Results Summary

    • The results summary at the end of each lesson accurately reflects user performance, including the completion of required actions, the time taken for each step, and overall lesson efficiency.
    • Users receive actionable feedback based on their progress, helping to reinforce learning and understanding.

Auto Advance Criteria

  • Auto-advance activates after the voice-over completes when all required actions for the step are met, with a brief delay to allow for user processing.
  • If the voice-over is muted, auto-advance is disabled, requiring the user to manually proceed to the next step using the next button.
  • Visual and audio cues signal when auto-advance is triggered, providing clear feedback to the user.

Testing and Validation

  • Validate that each lesson selection and interaction work seamlessly and without delays.
  • Test the synchronization of the audio playback with visual and checklist elements to ensure a cohesive user experience.
  • Confirm that auto-advance functions correctly under all conditions, including when the voice-over is muted or when actions are pending.
  • Ensure scenes and assets load and unload efficiently, maintaining optimal performance during transitions.