WBLCWork based Learning Consortium (WBLC) creates programs for skilled employees looking for entry level to mid level skilled jobs. WBLC application helps those skilled employees practice their English in these jobs. This allows these employees to be familiar with the vocabulary used at their jobsWebGLC#, JavascriptUnityMay - Dec 2022Set up the project and create a practice scene that allows the user to make as many mistakes as they want without being penalized. Once the user is ready, they can proceed to the real scenarios. The practice scene I had to set up was to have the user say the text that appears on the screen. Based on how well the user says something, a score will be displayed. The user can also pause at any time and end the conversation at any time.When WBLC had asked for a learning app from us, we had already created BeConfident, LincLingo, DND and many more. Luckily, months before, my team and I had already written a standardization document. My job was to document how to set up Unity in a gitlab project (gitignore, what to push and branches to create), and how to set up basic scenes and prefabs such as a login scene and player prefab. This turned out to be useful when setting up WBLC as it saved us a lot of time. Shoutout to gitlab (logo shown below)One part of the practice scene was displaying the score. A High score, medium score and low score. Each score range will display a number of stars, a color scheme and an encouragement text. The score would slide from the bottom of the screen. I had to plan out how to code the scores and make the score appear. To make the score slide in, I used dotween. The score range was to be used in other places as well, so I did not want to redefine the scores again. So I made the score range reusable in other places without redefining it over and over. E.g if high score display 3 stars, display blue color and show "well done".I made sure the speaker icon can be enabled/recording or disabled/not recording. It is enabled if the users turn to talk. It is disabled if the game is paused, the user ends the conversation, the score appears. I checked that the text the user should say gets updated. I would retrieve the text and save them. If the user wants to try again, the same text appears. If they don't want to practice anymore, I would remove the text. If the user wants to save for later, the text would be saved for laterThe score is calculated based on how close the user pronounces the text. By teaming up with the framework team who has connected an intent engine - I could implement a scoring algorithm provided by the content team.The result of the scoring, microphone, and displaying what the AIC should say in the practice scene is shown below.