public string RandomizeWord(string word) { char[] chArray = word.ToCharArray(); for (int i = 0; i < chArray.Length; i++) { if (i == 0) { chArray[i] = char.ConvertFromUtf32(Random.Range(97, 122))[0]; } else { char[] allowedKeys = ac.FindAlphabetKeyByCharacter(chArray[i - 1]).allowedFollowKeys; //Add handling for double letter, triple vowel, and other edge cases to form more fluid random words. chArray[i] = allowedKeys[Random.Range(0, allowedKeys.Length)]; } } AddTranslation(word, new string(chArray)); return(new string(chArray)); }