Unity でビジュアライズしている何かしらのアルゴリズム(AIとか画像処理とか)について、処理中にUIが固まることはユーザービリティの面から看過できません。 Unity 2017 になってから、C# 5.0 からの新機能 Task(async/await) が使えるようになりました。 これを使うだけです。 ただ使うには、PlayerSettingsをExperimental(実験的な設定)に変更する必要があります。私は次の記事を参考に変更しました。 qiita.com 具体的なコードとしては await Task.Run 以降のラムダ式をメインスレッドとは別のスレッドにて非同期実行させることができます。 await キーワードは async キーワードを付けた関数の中でなければ、記述できません。 ということで、以下のようなコードで重い処理を別スレッドで書き、結果が出たらスレッドアンセーフ