Unity Technologies has announced Unity Runtime upgrades to .NET 4.6 and C# 6 and has published the early access build on their forum. That’s great news! I’ve tried it, and UniRx was integrated into .NET 4.6. Today, I released UniRx ver 5.5.0 on AssetStore. It supports async/await and helpers.
Unity 5.5.0xMono-Runtime-Upgrade-1-b4 supports async/await but does not have SynchronizationContext yet. What does this mean?
After using the await multithreaded method (Task.Delay, Task.Run, etc.), one cannot touch GameObject property because it runs on another thread.
UniRx has introduced UniRxSynchronizationContext, which helps it.
It is used automatically if one imports UniRx.
UniRx extends GetAwaiter to Unity’s coroutine classes, so it supports await directly.
And of course, IObservable is awaitable.
Unity’s async/await support is good enough to integrate existing workflow. I cannot wait! UniRx adds many functions to async/await for Unity, so UniRx is the best library for the async/await era of Unity. Please try it and enjoy it.