UniTask
delaunator-sharp
UniTask | delaunator-sharp | |
---|---|---|
22 | 4 | |
7,296 | 368 | |
1.9% | - | |
8.5 | 3.9 | |
7 days ago | 6 months ago | |
C# | C# | |
MIT License | MIT License |
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.
delaunator-sharp
-
Using Voronoi polygons for simplified continent generation
Well, the easiest option would probably be to use a different Delaunay/Voronoi library. Delaunator (C# bindings here) should be a pretty good option: it's fast, and there's a good explanation of how to use the data structures it generates. There is some weirdness with how points at the edge of the domain work that you may have to work around, but that will probably be easier than trying to modify another algorithm or write your own. I know I've struggled to implement the algorithms for calculating Voronoi diagrams/Delaunay triangulations, even though I feel like I have a decent high-level understanding of how Fortune's algorithm is supposed to work.
-
Algorithm that covers a whole area with points, with values based on the original points at each iteration.
Yes ! Exactly. I already started working on it, and it's going well, but I am having a little trouble working with this. I can't find any tutorials online though, so I have to do figure it out on my own :)
-
How do they code Denaulay triangulation in Unity?
Unless you really want to learn the details of the triangulation algorithm, I recommend to just use a open source implementation in C#. Here's one that works fine with Unity: https://github.com/nol1fe/delaunator-sharp
What are some alternatives?
InjectFix - InjectFix is a hot-fix solution library for Unity
UnityLibrary - :books: Library of all kind of scripts, snippets & shaders for Unity
Harmony - A library for patching, replacing and decorating .NET and Mono methods during runtime
com.unity.netcode.gameobjects - Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
simulator - A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
unity-delaunay - A Delaunay/Voronoi library for Unity, and a simple destruction effect
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Computational-geometry - Computational Geometry Unity library with implementations of intersection algorithms, triangulations like delaunay, voronoi diagrams, polygon clipping, bezier curves, ear clipping, convex hulls, mesh simplification, etc
ezThread - Library for easy threading tasks