private static IEnumerator TesseractDownloadLangFile(String folder, String lang) { String subfolderName = "tessdata"; String folderName = System.IO.Path.Combine(folder, subfolderName); if (!System.IO.Directory.Exists(folderName)) { System.IO.Directory.CreateDirectory(folderName); } String dest = System.IO.Path.Combine(folderName, String.Format("{0}.traineddata", lang)); if (!System.IO.File.Exists(dest) || !(new FileInfo(dest).Length > 0)) { String source = Tesseract.GetLangFileUrl(lang); using (UnityEngine.Networking.UnityWebRequest webclient = new UnityEngine.Networking.UnityWebRequest(source)) { Debug.Log(String.Format("Downloading file from '{0}' to '{1}'", source, dest)); webclient.downloadHandler = new UnityEngine.Networking.DownloadHandlerFile(dest); yield return(webclient.SendWebRequest()); if (webclient.isNetworkError || webclient.isHttpError) { Debug.LogError(webclient.error); } if (!System.IO.File.Exists(dest) || !(new FileInfo(dest).Length > 0)) { Debug.LogError(String.Format("File {0} is empty, failed to download file.", dest)); } Debug.Log("File successfully downloaded and saved to " + dest); //Debug.Log(String.Format("Download completed")); } } }