Comments (8)
Is there more documentation on this interception project? Iām not sure I have the time to go through the source code to guess what it is actually doing. Maybe you can be more specific with your question.
from harmony.
The documentation is available here.
I am looking for better performance and functionality to be implemented in next version.
from harmony.
Now I see. Harmony was mainly designed to decorate methods of a code base that was never made extensible in the first place. Microsofts Unity is a container that allows for decoration by design.
It is a bit difficult to compare or combine both approaches since they have complete different scenarios in mind. Harmony can be applied at runtime and relies on manipulating jitted code which in specific cases and with read-only memory for jitted code can actually fail, especially in an enterprise scenario.
from harmony.
I see. Thanks for the info.
from harmony.
I really like the idea of changing behavior of methods without adding proxy type around the instance.
How difficult would it be to create reliable mechanism to do it consistently? Since Roslyn is Open Source now perhaps there could be some hooks that could be used?
Could we do something as Debugger does, inject jump code before method is executed?
It does not have to be compatible with existing Unity code. It could be added as alternative mechanism if required.
from harmony.
I think you should start your own project. What you want to do is out of the scope of this project and I think there are already libraries out there that do that on the dll level.
from harmony.
Could you point me to these? I just recently started with these and still lucking necessary depth.
from harmony.
Maybe something like https://stackoverflow.com/questions/5731857/how-to-patch-a-line-of-code-in-a-dll
Good luck
from harmony.
Related Issues (20)
- Harmony CANNOT be used in Godot!!!! HOT 2
- Any restriction to hook .Net service? HOT 9
- Getting an instance from the TargetMethod patch HOT 1
- Using GeneratedRegex causes failed compile due to ReadOnlySpan HOT 2
- A crash after hook:The object's current state invalidates the operation HOT 2
- Harmony fails to patch method and throws exception in exported Godot build HOT 13
- NuGet Package reference assembly conflict HOT 8
- ModuleInitializerAttribute HOT 1
- RtDynamicMethod get MetadataToken throws InvalidOperationException HOT 2
- Patch on .net 7&8 throw TypeLoadException while debugging HOT 17
- Harmony 3.0: Utility Epic
- Investigate Testing the NuGet Package Directly HOT 3
- Add a Release Pipeline
- Hook exception: System.Exception: Cannot get result from void method System.Void HOT 2
- How to patch method of base class? HOT 1
- When applying a patch fails, the replacement's IL is not printed to the debug log HOT 2
- System.Exception: Parameter "xx" not found in method HOT 10
- SymbolExtensions does not resolve overriden method HOT 3
- can lib work in arm64? HOT 2
- Companion project promotion: Harmony Tools HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from harmony.