Skip to content

[Bug]: MissingMethodException on Il2CppInteropFixes.Install() - Unity 2022.3.67f2 / net8 #88

Description

@babystepspopolsku

All of the following criteria must be met

  • Changed the title so that it doesn't just says "[Bug]: "
  • I have searched the GitHub issues for my bug, even in the closed issues.

All of the following are optional to answer

  • Tried reinstalling the app.
  • Tried reinstalling LemonLoader.
  • Tried restarting the device.

Describe the issue.

Description

26-7-26_2-10-23.log

Game fails to initialize after patching with LemonLoader 0.6.5 Open-Beta.
The game shows "Unable to initialize the Unity Engine" and crashes on launch.

Game Info

  • Game: Chicken Police – Paint it RED! (com.hg.chickenpolice)
  • Engine: Unity 2022.3.67f2
  • Game Type: Il2cpp
  • Game Arch: x64
  • Runtime Type: net8

Device Info

  • OS: Android 13
  • LemonLoader/MelonLoader version: 0.6.5 Open-Beta

Steps Taken

  • Patched the game via the on-device LemonLoader installer (patch completed
    successfully, no errors during patching - base.apk, split_config.arm64_v8a.apk,
    and split_UnityDataAssetPack.apk were all signed and reinstalled without issue)
  • Launched the patched game
  • Game shows "Unable to initialize the Unity Engine" and crashes
  • Tried restarting the app and rebooting the device multiple times - same result

Log
DotnetAssemblyLoadContextFix Exception: System.NullReferenceException: Null method for MelonLoader
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer, HarmonyMethod ilmanipulator)
at MelonLoader.Fixes.DotnetAssemblyLoadContextFix.Install()

HarmonyLib.HarmonyException: IL Compile Error (unknown location)
---> HarmonyLib.HarmonyException: IL Compile Error (unknown location)
---> System.MissingMethodException: Method not found: void Il2CppInterop.Runtime.Injection.RegisterTypeOptions.set_LogSuccess(bool)
at System.RuntimeMethodHandle.GetFunctionPointer()
at MonoMod.Core.Platforms.Runtimes.MonoRuntime.Compile(MethodBase method)
at MonoMod.Core.Platforms.PlatformTriple.Compile(MethodBase method)
at MonoMod.RuntimeDetour.DetourManager.ManagedDetourState.UpdateEndOfChain()
at MonoMod.RuntimeDetour.DetourManager.ManagedDetourState.AddILHook(SingleILHookState ilhook, Boolean takeLock)
at MonoMod.RuntimeDetour.ILHook.Apply()
at HarmonyLib.Public.Patching.ManagedMethodPatcher.DetourTo(MethodBase replacement)
--- End of inner exception stack trace ---
at HarmonyLib.Public.Patching.ManagedMethodPatcher.DetourTo(MethodBase replacement)
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
--- End of inner exception stack trace ---
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer, HarmonyMethod ilmanipulator)
at MelonLoader.Fixes.Il2CppInteropFixes.Install()

Additional context
This looks like a version mismatch between the bundled Harmony/MonoMod fixes and
the Il2CppInterop.Runtime assembly - the fix code calls a setter method that
doesn't exist in the interop assembly generated/bundled for this Unity version.
Happy to provide the full log file or test further fixes if needed.

Did you attach your log file?

Yes, I attached my log file to the text box above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions