A Unity educational game for practicing Thai consonants, vowels, pronunciation, spelling, and handwriting, designed for children with a Learning Disability (LD).
LD E-Learning is an educational mobile app built with Unity that helps children with a learning disability (LD) practice basic Thai language skills through interactive lessons. It combines images, audio, and trace-to-write practice, with a quiz system and per-learner score tracking stored locally.
Content is organized into Consonant · Vowel · Spelling · Sentence categories, each with a learning mode and an exam mode.
- 🔤 Consonant / vowel lessons — shows the image, the letter, and plays the matching audio for each one
- ✏️ Handwriting practice — trace letters by drawing with
LineRenderer(sceneconsonant-write) - 🔊 Pronunciation practice — consonant-sound mode with an audio quiz
- 📝 Exams — grouped by consonant/vowel set, with correct/wrong audio feedback
- 👤 Learner profile — saves individual progress and scores
- 💾 Local database (SQLite) — works offline, no internet required
| Group | Scenes |
|---|---|
| Core | main-menu, main-profile, main-game, mark-menu |
| Consonant | consonant-menu, consonant-text, consonant-sound, consonant-write, consonant-text-menu, consonant-*-test-* |
| Vowel | vowel-menu, vowel-text, vowel-text-menu, vowel-text-test-* |
| Other | spelling-menu, sentence-menu |
- Engine: Unity
2017.4.6f1 - Language: C# (MonoBehaviour)
- Database: SQLite via the
SQLite4Unity3dlibrary - Target platforms: Android (primary) and iOS
- Media: PNG images, MP3 audio, Thai fonts (TTF/OTF)
ldlearning/
├── src/ld/ # Unity project
│ ├── Assets/
│ │ ├── Scene/ # all app scenes
│ │ ├── Scripts/ # C# code (Model / Controller / Service)
│ │ ├── Resources/ # letter images/audio + FeedbackSound (correct/wrong)
│ │ └── StreamingAssets/ # SQLite database files (LD, existing.db)
│ └── ProjectSettings/
├── sqlite/ # schema scripts (MySQL + SQLite) and tools
├── resource/ # SQLite4Unity3d library, fonts, graphics, mockups, GUI
├── document/ # storyboard, use case, prototype (Axure), report
└── README.md
| File | Responsibility |
|---|---|
MenuController.cs |
handles scene loading for each lesson/exam |
ConsonantModel.cs / VowelModel.cs |
load each letter's image, text, and audio from Resources/ |
*ExamModel.cs |
logic for each category's exam |
LineDrawer.cs / LineCreator.cs |
trace-to-write drawing system |
DataService.cs / DatabaseConnection.cs |
manage the SQLite connection |
ProfileModel.cs |
save the learner's progress state |
Main SQLite tables: User, UserRole, Course, CourseGroup, CourseDetail, CourseAssetDetail, Exam, ExamScore, UserCourseScore
The full schema is in
sqlite/LD_ELearning-SQLite.sql(with a MySQL version insqlite/LD_ELearning-MySQL.sql).
- Install Unity 2017.4.6f1 (via Unity Hub — this is an older version and must be downloaded from the archive)
- Open the project from the
src/ldfolder - Open the scene
Assets/Scene/main-menu.unityand press Play - On first run on a device, the database files are copied automatically from
StreamingAssetstoApplication.persistentDataPath
- Set the platform to Android in Build Settings
- Make sure the required scenes are listed in Scenes In Build
The document/ folder contains design documents and a report:
storyboard_ThaiAppforLD.pptx— storyboardusecase.epgz— use case diagramLD E-Learning-prototype.rp— prototype (Axure)report/report.pptx— project summary report
This is an educational prototype, developed in 2018 on Unity 2017. The database and media run primarily in a local-first manner.
No license specified yet — if you plan to make it public, it's recommended to add a clear LICENSE file (e.g. MIT).