Harmony
UniTask
Harmony | UniTask | |
---|---|---|
26 | 22 | |
4,835 | 7,296 | |
- | 1.9% | |
8.9 | 8.5 | |
8 days ago | 9 days 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.
Harmony
- How to make mods?
- Learning how to mod
- [Gordianquest] Mod amplificateur de butin
-
Fast Script Reload - Hot Reload implementation for Unity is now open source!
Some more details https://github.com/pardeike/Harmony/issues/424
-
Set return value of method called by method in unit test
Here's what you're looking for.
-
Why use { get; set; } at all?
Probably a little out of your scope but the library Harmony you can write patches (detours) on methods. Using get/set instead of a field would allow you to override the property's method. Let's say you wanted to write something to always have the name uppercase. You could patch the constructor and set this.name = this.name.ToUpper() but that field is publicly assignable so you can't really enforce that. On the other hand with a property you can override the set method to say this._name = value.ToUpper().
-
Python's "Disappointing" Superpowers
It's kind of a subtle distinction that I think was lost between the posted article and the original article it was responding to, but I don't think the kinds of reflection capabilities that Roslyn provides is what the author intended. The specific example given in the referenced article for "Higher-order programs" specifically refers to the ability to replace function implementations at runtime without interrupting the program, and specifically calls out hot-code reloading (such as what Java provides) as a deficient form of similar functionality. This is closer to the type of functionality libraries like Harmony provide, but even that solution requires including the library and instrumenting your code ahead of time.
-
Reverse engineering integrity checks in Black Ops 3
https://github.com/pardeike/Harmony harmony lets you patch functions at runtime, kind of like a dll injection / memory edit
-
Loot amplifier mod
Download Harmony 2 and put net472 version of the library into GordianQuest_Data\Managed
-
Replace class method from DLL with my own
I'd recommend looking into Harmomy and seeing if you're able to use it. It makes modifying DLLs pretty convenient.
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.
What are some alternatives?
Mono.Cecil - Cecil is a library to inspect, modify and create .NET programs and libraries.
InjectFix - InjectFix is a hot-fix solution library for Unity
Fody - Extensible tool for weaving .net assemblies
UnityLibrary - :books: Library of all kind of scripts, snippets & shaders for Unity
Extenject - Dependency Injection Framework for Unity3D [Moved to: https://github.com/modesttree/Zenject]
simulator - A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
UnrealCLR - Unreal Engine .NET 6 integration
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.
mono - Mono open source ECMA CLI, C# and .NET implementation.
ezThread - Library for easy threading tasks