📈UnirxとunitaskでUnity非同期プログラミングを行う

  1. UniRx:

    • 概要: UniRxは、Reactive Extensions (Rx) のUnity用の実装です。Reactive Extensionsは、非同期プログラムやイベントベースのプログラムを扱うためのライブラリです。UniRxは、これをUnityエンジンに最適化し、Unityのイベントシステム、コルーチン、などと統合しています。

    • 特長:

      • Observable シーケンス: コレクション、イベント、プロパティの変更など、さまざまなデータソースをObservable シーケンスとして扱うことができます。

      • LINQ スタイルの操作: Observable シーケンスに対して、LINQスタイルの操作を行うことができます。

      • Scheduling: UniRxは、UnityのMainThread、Coroutine、ThreadPoolなど、異なるスレッドでの実行をサポートしています。

  2. UniTask:

    • 概要: UniTaskは、Unityのための軽量な非同期プログラミングライブラリです。Unityのコルーチンは非常に便利ですが、パフォーマンスが良くないという問題があります。UniTaskは、この問題を解決し、よりパフォーマンスの良い非同期処理を提供します。

    • 特長:

      • async/await 対応: C#のasync/awaitキーワードを使用した非同期プログラムを書くことができます。

      • Zero Allocation: UniTaskは、ガベージコレクションのオーバーヘッドを減らすため、余計なメモリ確保を行いません。

      • Integration with Unity: UnityのUpdate, FixedUpdate, LateUpdate, WaitForEndOfFrame, などのライフサイクルイベントをawaitできます。


お願い致します