非同期処理
非同期処理
非同期処理
Unityのシーン描画や物理エンジンの処理を阻害しないように並列で動作する非同期処理としてコードを書く。
非同期処理には以下の実装がある。状況に応じた適切なものを確認しておくとよい。
Unity 標準 : コルーチン(coroutine) Invoke
Unity 拡張 : UniRx UniTask
C# : async/await
参考
async/await,disposableを使って素直で読みやすいコードを書く
GP08で紹介したコルーチンによる非同期処理とは別の手法を紹介する。
UniTask
UniTask
外部パッケージをGithubからダウンロードしてUnityに追加する。
Unityのゲーム向けのタスク処理ライブラリが利用できる。
複数の非同期処理を便利に扱える。
提供元: cygameのエンジニア Cygames Engineers' Blog
async/await
async/await
C#の非同期処理を利用する。専用の構文を利用してコルーチンより多少わかりやすく記述できる。
コルーチンと違って非同期処理の結果も取得できる。
PlayerControllerをasync/await方式に書き換えた例