Skip to content

Releases: BepInEx/Il2CppInterop

v1.4.5

04 Mar 20:22
v1.4.5
b4801bb
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Generator: Don't unstrip stripped unity delegates (@Kasuromi via ee38874)
  • Generator: Workaround for Cpp2IL garbage method file offsets (@Kasuromi via 20bc6ba)
  • Runtime: Il2CppInteropUtils support for generic methods & types (@Kasuromi via 24f29f6)

v1.4.4

25 Feb 14:40
v1.4.4
b976fad
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Runtime: Fix GenericMethod::GetMethod search for IL2CPP Master games (@nitrog0d via #64 & #67)
  • Runtime: Fix invalid return value when calling injected methods via Il2Cpp reflection (@kremnev8 via #74)
  • Runtime: Fix crash calling delegate invoke on il2cpp 29 or higher (@kremnev8 via #78)
  • Runtime: Shorten delegate type names with method signature (@Kasuromi via df33064)
  • Generator: Prevent processing of Cpp2IL injected types (@ds5678 in #68)
  • Generator: Fix constructors in non-blittable structs (@js6pak via #77)
  • Generator: Add support for byref generic parameters in methods (@Kasuromi via #79)
  • Generator: Preserve enum names when prefixing (@Kasuromi via 44f18f0)
  • Struct Generator: Fix bitfield generating and update Il2Cpp structs (@nitrog0d via #65)

v1.4.3

13 Dec 20:09
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Generator: Fix namespace prefixing for nested types (@ds5678 via #61)

v1.4.2

12 Dec 20:37
v1.4.2
2295a2b
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Runtime: Fix FindGetTypeInfoFromTypeDefinitionIndex for Unity games built with IL2CPP Master (@nitrog0d via #60)

v1.4.1

11 Dec 14:37
ba8fbf9
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Runtime: Update sig scan for Class::GetFieldDefaultValue (@SamboyCoding via #58)
  • Generator: Ensure Proper Layout for Non-ValueTypes (@Kasuromi via #57)
  • Generator: Workaround garbage field offset values (@js6pak via #59)

v1.4.0

13 Nov 17:10
Compare
Choose a tag to compare

Stable releases are available on NuGet.org as well!

Changelog

Fixes

  • Runtime: Added initial support for v29 metadata (@Kasuromi via #55)
  • Runtime: Fixed InjectionHelper detour generation timing (@js6pak via #56)

v1.3.0

21 Oct 18:39
fee7efa
Compare
Choose a tag to compare

NOTE

The project has been refactored and renamed from Il2CppUnhollower!
Most of the changes are breaking, so don't naïvely upgrade your plugins and packages!

Please refer to changelog below for more information. Note that old Il2CppUnhollower assemblies are still available, and the code can be found in legacy-unhollower branch.

Stable releases are now available via NuGet.org!

Changelog

New features

  • Generator: Add implicit conversions for primitives to il2cpp object (#51)
  • Runtime: Improve Cast and PointerToValueGeneric performance (#52)

Fixes

  • Generator: Fix crashes on x32 when xref pointers are "negative" (#53)
  • Runtime: Fix GenerateDelegateForMissingICall on coreclr

v1.2.0

04 Oct 16:07
Compare
Choose a tag to compare

NOTE

The project has been refactored and renamed from Il2CppUnhollower!
Most of the changes are breaking, so don't naïvely upgrade your plugins and packages!

Please refer to changelog below for more information. Note that old Il2CppUnhollower assemblies are still available, and the code can be found in legacy-unhollower branch.

Stable releases are now available via NuGet.org!

Changelog

New features

  • Generator: Add Il2CppPrefixMode option that affects how generated assemblies are prefixed (#39, @ds5678). Two options are available
    • PrefixMode.OptIn (Default): Namespaces and assembly names specified in NamespacesAndAssembliesToPrefix list will be prefixed with Il2Cpp when generating interop assemblies.
    • PrefixMode.OptOut: All namespaces and assembly names will be prefixed with Il2Cpp when generating interop assemblies. You can opt out from the behaviour for specific namespaces and assemblies with NamespacesAndAssembliesToNotPrefix list
    • Note: The default represents the current behaviour of v1. Starting from v2 the default will likely be switched to opt-out
  • CLI: Added new CLI flags for setting the above options: --use-opt-out-prefixing, --add-prefix-to

Fixes

  • Generator: Skip generating interop wrapper methods for interface overrides (#48, @js6pak)
  • Runtime: Improve injecting classes that inherit from abstract types for x86 and x64 (#45, @js6pak)

v1.1.4

30 Sep 17:08
1224a92
Compare
Choose a tag to compare

NOTE

The project has been refactored and renamed from Il2CppUnhollower!
Most of the changes are breaking, so don't naïvely upgrade your plugins and packages!

Please refer to changelog below for more information. Note that old Il2CppUnhollower assemblies are still available, and the code can be found in legacy-unhollower branch.

Stable releases are now available via NuGet.org!

Changelog

Fixes

  • Runtime: Fix injecting methods with struct parameters on 32-bit
  • Runtime: Fix patching methods returning large structs

v1.1.3

10 Sep 19:03
Compare
Choose a tag to compare

NOTE

The project has been refactored and renamed from Il2CppUnhollower!
Most of the changes are breaking, so don't naïvely upgrade your plugins and packages!

Please refer to changelog below for more information. Note that old Il2CppUnhollower assemblies are still available, and the code can be found in legacy-unhollower branch.

Stable releases are now available via NuGet.org!

Changelog

Fixes

  • Runtime: Fix crashes in some cases when resolving GetDefaultFieldValue