-
Notifications
You must be signed in to change notification settings - Fork 624
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
BepInEx 6 (both pre and BE) Il2Cpp does not bootstrap correctly on Unity 2021.2 or newer (Class::Init signatures have been exhausted) #474
Comments
Fixed version ranges as Unity 2021.1 doesn't seem to be affected from my tests. |
@ghorsington, on #471, you said that the issues weren't related. Just want to confirm you saw the follow up error logs since they are the same as the ones on #471. When running RotMG on both 6.0.0-pre.1 and BE builds, both @kecleon, @animusDS, and myself (over on #433) are seeing the following (as well as the ErrorLog:
|
The OP of #471 hasn't provided full logs from their side and I wasn't able to replicate it on either the pre-release nor latest BE. Meanwhile I was able to replicate the exact same full logs in RotMG and various other Unity 2021.2 games with the exact same errors. The only thing #471 has included by OP is
Which can be caused by a plugin or OS. It's impossible to tell without exact logs. I asked the OP to provide more info as I wasn't able to replicate it, so until that it's safe to say their issue is unrelated and thus can stay open. Finally, HOLOLIVE Error is Unity 2021.1 which doesn't generally use the new metadata version. You're free to test yourself though, HOLOLIVE Error is a free download. |
Thank you so much for the workaround, been struggling trying to get BEPINEX to even launch on Ghost Exorcisms Inc. Has a similar errors too.
|
Getting something similar with Fer.al ErrorLog:
LogOutput:
Interestingly, fer.al has not updated (the game discontinued this year in march), and used to work on BepInEx 6, build 577, tho with a issue that prevented me from properly modding, got a obscure access violation error (only visible in the unity crash report) when calling a method on a object that should be usable. |
getting a similar error. |
Did you mark your code as allow unsafe? I forget to do this all the time in VS. |
What happened?
Right now Il2CppAssemblyUnhollower (BepInEx 6.0.0-pre.1) and Il2CppInterop (BepInEx Bleeding Edge builds) do not support Unity 2021 and newer properly. The progress for support is tracked in BepInEx/Il2CppInterop#41
Meanwhile, this causes bootstrapping problems for select games. This has been reported in multiple issues: #287, #433, #455.
This issue is meant to collect all previous reports together. Generally, it's a combination of logs like
and the game crashing shortly after.
Workaround
The current workaround is to simply not use Il2CppInterop or Il2CppAssemblyUnhollower and instead resort to manual interaction with Il2Cpp via its native API. This, however, closes out 95% of all plugins from being usable.
To get BepInEx past the crashing, you can disable Unity log listener by opening
BepInEx/config/BepInEx.cfg
, findingand setting it to
false
.Steps to reproduce
Class::Init
and a crashBepInEx Distribution
Bleeding Edge from BepisBuilds
Log outputs
Environment
The text was updated successfully, but these errors were encountered: