New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integration with Unity #53
Comments
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. |
The documentation is available here. |
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. |
I see. Thanks for the info. |
I really like the idea of changing behavior of methods without adding proxy type around the instance. It does not have to be compatible with existing Unity code. It could be added as alternative mechanism if required. |
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. |
Could you point me to these? I just recently started with these and still lucking necessary depth. |
Maybe something like https://stackoverflow.com/questions/5731857/how-to-patch-a-line-of-code-in-a-dll Good luck |
It is not really an Issue...
I am considering modernization of Unity.Interception and looking at different libraries for technologies and inspirations.
I was wondering if Harmony could be used for that purpose and if it has any advantages over other implementations?
The text was updated successfully, but these errors were encountered: