private IEnumerator multiTreaded() { Debug.Log("Starting..."); while (!Manager.BadWordManager.isReady) { yield return(null); } //System.Threading.Thread worker = new System.Threading.Thread(() => BWFManager.ContainsMT(out containsUnwantedWords, DirtyText)); System.Threading.Thread worker = new System.Threading.Thread(() => BWFManager.GetAllMT(out unwantedWords, DirtyText)); //System.Threading.Thread worker = new System.Threading.Thread(() => BWFManager.ReplaceAllMT(out cleanText, DirtyText)); //System.Threading.Thread worker = new System.Threading.Thread(() => BadWordManager.ReplaceAllMT(out CleanText, DirtyText)); worker.Start(); Debug.Log("Checking..."); do { yield return(null); } while (worker.IsAlive); Debug.Log("Finished: " + System.Environment.NewLine + unwantedWords.CTDump()); }