-
Notifications
You must be signed in to change notification settings - Fork 42
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
Prefix invocation is not skipped by returning false #7
Comments
This is the expected behavior in new versions. Prefix patches preventing other prefix patchers from running have been found to be very error prone and nondeterministic in more complex setups. This combination caused seemingly random crashes in plugins that did not expect their prefix patches to not run and was very difficult to diagnose and fix (different users could have the patches ordered differently because of different plugin load orders, so for some users it worked fine while it broke for others). It is also not reasonable to expect a plugin authors to know all other plugins that patch a particular method, therefore the decision was to make this change. If you need to prevent a certain plugin's prefix patch from running the recommended way is to patch the patch itself. |
Greetings! As Marco already pointed out, this behaviour is intended to be fully symmetrical with how postfixes operate. We've had a plan on exposing the Seeing as this is closely related to that feature, I'll reopen this issue and close it again once Related, I've made #8 which I plan on addressing this week so that all possible differences from original Harmony is known. |
What I did
It was not reproduced with Harmony 2.0.1 and also with BepInEx 5.0.1.0.
What I expected
What I got
Environment
BepInEx v5.1
.NET framework 3.5
Unity 2017
The text was updated successfully, but these errors were encountered: