UniTask
UnityMainThreadDispatcher
UniTask | UnityMainThreadDispatcher | |
---|---|---|
22 | 5 | |
7,296 | 820 | |
1.9% | - | |
8.5 | 3.1 | |
7 days ago | about 2 months ago | |
C# | C# | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
UniTask
-
Optimizing CPU Load in C#: Key Approaches and Strategies
If you develop projects in Unity - i really recommend to see at UniTaks.
-
async/await or Coroutines?
Give the UniTask library a look https://github.com/Cysharp/UniTask
-
Discussion: Is it a Good Practice to just... avoid Coroutines entirely?
What I would say, however, is that I much prefer async / await via UniTask over standard Coroutines!
- Do coroutines produce garbage?
-
Addressables - loading/unloading the same AssetReference more times - help
Lastly I recommend using UniTask to better await an asset load, use it, and release it without clunky Coroutines. Happy to give examples of how to use UniTask to update this code.
-
Why are my statements called asynchronous?
If you absolutely must muck about with threads in Unity yourself (though I struggle to think of a reason why you'd need to for the example given) then Unity's Jobs system is probably the way to go - though in most cases you can likely achieve whatever it is you're trying to achieve using something like UniTask (my preference) which gives you much nicer async / await support.
-
Async void VS Threads
Great comment. The Unity task library is UniTask.
-
For loop inside async task?
There are a few problems. Firstly use UniTask for async related things in Unity. Provides much better async integration with Unity.
-
How to replace IEnumerator and coroutines with async/await?
This is where UniTask comes in. If your project relies heavily on asynchronous code-- it sounds like it does -- you'll likely enjoy this package. It doesn't allocate, hooks into Unity's PlayerLoop for per-frame timing, and allows for return types. You can even await existing Coroutines.
-
Do you remember some of your most annoying problems with Unity when you just started?
UniTask is a popular async/await library that doesn't have this problem.
UnityMainThreadDispatcher
- Async void VS Threads
-
Building app for HoloLens, having trouble implementing a C# Socket client?
Since BeginReceive operates outside of the main thread, I'm using a UnityMainThreadDispatcher library that lets me update game object code from a child thread. Maybe this could also be a potential factor, but I'm still curious as to why no exceptions would be thrown?
- Compute shaders from a background thread?
-
Audio gen from compute shader?
This https://github.com/PimDeWitte/UnityMainThreadDispatcher Thread dispatcher only does half the work. Once you call "Enqueue" within the OnAudioFilterRead() handler, OnAudioFilterRead exits and audio processing goes on from the audio processing thread. i.e. as soon as this even handler is done, it's too late.
What are some alternatives?
InjectFix - InjectFix is a hot-fix solution library for Unity
Harmony - A library for patching, replacing and decorating .NET and Mono methods during runtime
UnityLibrary - :books: Library of all kind of scripts, snippets & shaders for Unity
simulator - A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
delaunator-sharp - Fast Delaunay triangulation of 2D points implemented in C#.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
ezThread - Library for easy threading tasks
UnityNamedPipe - A sample application of the interaction between Unity and Windows through NamedPipe
MsgKit - A .NET library to make MSG files without the need for Outlook
sqlite-net - Simple, powerful, cross-platform SQLite client and ORM for .NET
uniFlow - Full Docs -->