Objective

Unify how lesson scripts and voice-over content are authored, approved, and integrated across projects. Provide a single source of truth for lesson step text and associated voice-over assets, ensuring seamless updates and localization support.


Estimated Hours Summary


Feature Specifications

Feature 0: Backend Research and Integration Plan

Backend Research and Integration Plan

Epic: Centralized Lesson Content Management Estimated Hours: 5 hours

Objective

Evaluate existing tools, services, and solutions for managing lesson scripts and voice-over content. Determine the best approach—integrating existing services, using third-party tools, or building a custom backend solution.

Requirements

  1. Research Unity Services and Asset Store offerings for content management and synchronization.
  2. Compare external tools like Google Sheets or third-party Digital Asset Management (DAM) platforms.
  3. Identify the feasibility and scalability of text-to-speech integrations like WellSaid Labs and ElevenLabs.
  4. Create an integration plan detailing the selected path, including: - Services/tools to use or purchase. - Customization needs for integration. - High-level architecture for backend and Unity Editor connections.

Acceptance Criteria

  1. A comprehensive report that compares at least three approaches for backend management.
  2. Integration recommendations for selected tools, services, or a custom solution.
  3. A high-level architecture diagram for backend and frontend workflows.
  4. MVP Acceptance Criteria:
    • Research completed with recommendations for an MVP solution (e.g., Unity Services or Google Sheets integration).
    • A basic implementation plan for integrating the chosen solution into the pipeline.
Link to original

Feature 1: In-Editor Content Sync

In-Editor Content Sync

Epic: Centralized Lesson Content Management Estimated Hours: 40 hours

Objective

Enable the Unity Editor to pull the latest lesson step text and voice-over content from a remote server.

Requirements

  1. Display a read-only version of lesson step text within the Unity Editor.
  2. Include a “Pull Updates” button to fetch and replace outdated text and voice-over assets with the latest from the server.
  3. Implement error handling and update notifications if the server fails or the content is out of sync.

Acceptance Criteria

  1. The Unity Editor displays the current lesson step text as read-only.
  2. Users can successfully pull updates from the server with a clear visual indication of success or failure.
  3. Outdated content is replaced seamlessly without data corruption or leftover copies of older versions.
Link to original

Feature 2: Localization Support

Localization Support

Epic: Centralized Lesson Content Management Estimated Hours: 50 hours

Objective

Allow text and voice-over assets to support multiple languages and regional variants.

Requirements

  1. Store multiple text and voice-over entries in the Lesson Step data for different languages.
  2. Provide a dropdown or setting in Unity to select the desired view localization.
  3. Implement fallback behavior if localized content is unavailable.

Acceptance Criteria

  1. Developers can view and select Unity Editor and Digital Asset Manager language variants.
  2. Text and associated voice-over assets are easy to see and understand for each supported language.
  3. Fallback behavior displays the default language when no localization is available.
Link to original

Feature 3: Digital Asset Management Web Interface

Digital Asset Management Web Interface

Epic: Centralized Lesson Content Management Estimated Hours: 40 hours

Objective

Provide a simple web interface for managing lesson script text and associated voice-over assets.

Requirements

  1. Allow authors to create, edit, and delete lesson scripts and voice-over associations.
  2. Support user roles and permissions (e.g., authors, reviewers, admins).
  3. Explore Unity Services, Asset Store offerings, or external tools like Google Sheets for content management.

Acceptance Criteria

  1. Authors can create and edit lesson scripts via the web interface.
  2. Changes are saved and synchronized with the server for in-editor updates.
  3. User roles and permissions restrict editing as per access levels.
Link to original

Feature 4: Script Version Control

Script Version Control

Epic: Centralized Lesson Content Management Estimated Hours: 10 hours

Objective

Implement versioning for scripts to track changes and detect out-of-sync lesson step data.

Requirements

  1. Use Semantic Versioning with an appended unique hashcode for automatic versioning.
  2. Display the version number in the Unity Editor and Digital Asset Manager.
  3. Provide manual and automatic update options for version control.

Acceptance Criteria

  1. The Unity Editor displays the current script version number.
  2. Developers can identify and resolve out-of-sync versions with server data.
  3. Versioning updates automatically upon script changes.
Link to original

Feature 5: Voice-Over Asset Integration

Voice-Over Asset Integration

Epic: Centralized Lesson Content Management Estimated Hours: 20 hours

Objective

Support voice-over asset creation and uploading directly from the Digital Asset Manager.

Requirements

  1. Integrate with services like WellSaid Labs or ElevenLabs for text-to-speech generation.
  2. Allow manual upload of custom voice-over files.
  3. Store voice-over files with proper metadata for easy retrieval.

Acceptance Criteria

  1. Voice-over assets can be created and uploaded via the Digital Asset Manager.
  2. Text-to-speech services generate voice-over files directly from lesson scripts.
  3. Manual uploads are supported with metadata tagging.
  4. MVP Acceptance Criteria:
    • Basic text-to-speech integration is implemented.
    • Manual uploads work with minimal metadata support.
Link to original


Phase 2 Features to consider

  1. Runtime Content Updates: Use Unity Cloud Content Delivery service to enable dynamic updates to lesson scripts and assets at runtime.
  2. Content Approval Workflow: Add role-based permissions and approval states for quality control.
  3. Real-Time Collaboration: Allow live multi-user editing with conflict resolution.
  4. Offline Mode: Support local script editing with sync upon reconnection.
  5. Audit Logs: Track changes with timestamps and user details for traceability.
  6. Automated Unit Testing: Validate script content and voice-over logic with unit tests.
  7. Automatic Translation Tools: Generate and validate localization entries automatically.
  8. Backup and Restore: Provide automatic backups and easy restoration of previous versions.
  9. Unity Web-Based Content Editor: Create a Unity web app for managing content directly in context.