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
- Research Unity Services and Asset Store offerings for content management and synchronization.
- Compare external tools like Google Sheets or third-party Digital Asset Management (DAM) platforms.
- Identify the feasibility and scalability of text-to-speech integrations like WellSaid Labs and ElevenLabs.
- 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.
Link to originalAcceptance Criteria
- A comprehensive report that compares at least three approaches for backend management.
- Integration recommendations for selected tools, services, or a custom solution.
- A high-level architecture diagram for backend and frontend workflows.
- 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.
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
- Display a read-only version of lesson step text within the Unity Editor.
- Include a “Pull Updates” button to fetch and replace outdated text and voice-over assets with the latest from the server.
- Implement error handling and update notifications if the server fails or the content is out of sync.
Link to originalAcceptance Criteria
- The Unity Editor displays the current lesson step text as read-only.
- Users can successfully pull updates from the server with a clear visual indication of success or failure.
- Outdated content is replaced seamlessly without data corruption or leftover copies of older versions.
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
- Store multiple text and voice-over entries in the Lesson Step data for different languages.
- Provide a dropdown or setting in Unity to select the desired view localization.
- Implement fallback behavior if localized content is unavailable.
Link to originalAcceptance Criteria
- Developers can view and select Unity Editor and Digital Asset Manager language variants.
- Text and associated voice-over assets are easy to see and understand for each supported language.
- Fallback behavior displays the default language when no localization is available.
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
- Allow authors to create, edit, and delete lesson scripts and voice-over associations.
- Support user roles and permissions (e.g., authors, reviewers, admins).
- Explore Unity Services, Asset Store offerings, or external tools like Google Sheets for content management.
Link to originalAcceptance Criteria
- Authors can create and edit lesson scripts via the web interface.
- Changes are saved and synchronized with the server for in-editor updates.
- User roles and permissions restrict editing as per access levels.
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
- Use Semantic Versioning with an appended unique hashcode for automatic versioning.
- Display the version number in the Unity Editor and Digital Asset Manager.
- Provide manual and automatic update options for version control.
Link to originalAcceptance Criteria
- The Unity Editor displays the current script version number.
- Developers can identify and resolve out-of-sync versions with server data.
- Versioning updates automatically upon script changes.
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
- Integrate with services like WellSaid Labs or ElevenLabs for text-to-speech generation.
- Allow manual upload of custom voice-over files.
- Store voice-over files with proper metadata for easy retrieval.
Link to originalAcceptance Criteria
- Voice-over assets can be created and uploaded via the Digital Asset Manager.
- Text-to-speech services generate voice-over files directly from lesson scripts.
- Manual uploads are supported with metadata tagging.
- MVP Acceptance Criteria:
- Basic text-to-speech integration is implemented.
- Manual uploads work with minimal metadata support.
Phase 2 Features to consider
- Runtime Content Updates: Use Unity Cloud Content Delivery service to enable dynamic updates to lesson scripts and assets at runtime.
- Content Approval Workflow: Add role-based permissions and approval states for quality control.
- Real-Time Collaboration: Allow live multi-user editing with conflict resolution.
- Offline Mode: Support local script editing with sync upon reconnection.
- Audit Logs: Track changes with timestamps and user details for traceability.
- Automated Unit Testing: Validate script content and voice-over logic with unit tests.
- Automatic Translation Tools: Generate and validate localization entries automatically.
- Backup and Restore: Provide automatic backups and easy restoration of previous versions.
- Unity Web-Based Content Editor: Create a Unity web app for managing content directly in context.