Skip to content

Releases: BepInEx/Il2CppInterop

v1.1.2

08 Sep 17:22
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: Resolve Class::GetDefaultFieldValue through ICall (#42 by @Kasuromi)

v1.1.1

29 Aug 19:07
9f73743
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

  • Generator: Fix params array overload generation (#38)
  • HarmonySupport: Fix handling struct parameter handling on x86
  • Generator: Fix base type not being cloned correctly for some types

v1.1.0

10 Jul 20:54
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: Added GeneratorOptions.Parallel
    • The option allows to disable parallel processing when generating assemblies. This is useful in some cases where parallel processing may be unstable.
  • CLI: Added --no-parallel flag
    • The option allows to disable parallel processing when generating assemblies

Fixes

  • Runtime: Improved class injection for metadta v29
    • Added more Class::Init substituted
    • Resolve GetTypeInfoFromTypeDefinitionIndex properly
  • Generator: Fixed generating methods that contain ValueType parameters
  • Generator: Fixed generating methods with Il2Cpp*Array<T> parameters
  • Generator: Fixed size of bool fields in Il2Cpp structs (booleans in Il2Cpp are 1 byte)
  • Generator: Fixed a NullReferenceException for some classes that have indexers

Version 1.0.0

16 Jun 16:16
7b58644
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.

Changelog

Major changes

  • Removed netstandard2.0 target framework
  • Added net6.0 target framework for the runtime and CLI
    • CLI and generator API support net4.6 to allow use of the tools with Visual Studio extensions
  • Refactored code structure:
    • Il2CppInterop.Generator - API for analyzing Il2Cpp code and generating proxy assemblies. This is comparable to the old LibAssemblyUnhollower
    • Il2CppInterop.Runtime - API for interacting with Il2Cpp at runtime. This is comparable to UnhollowerBaseLib and UnhollowerRuntimeLib
  • Overhauled wrappers for Il2Cpp runtime methods and structs
    • The wrappers can now be generated automatically from libil2cpp source code, which should enable faster fixes and updates when Il2Cpp version updates
  • Removed all obsolete types and methods
  • Removed support for Il2CppDumper. Il2CppInterop now provides primary support only for Cpp2Il

New features

  • Added module that enables support for patching Il2Cpp methods with HarmonyX
  • New API for programmatically generating proxy API: Il2CppInteropGenerator
  • New API for initializing Il2CppInterop runtime: Il2CppInteropRuntime

Acknowledgements

This major overhaul wouldn't be possible without major contributions from @Kasuromi and @js6pak!

v0.4.33.3

25 May 15:52
v0.4.33.3
8cde2ec
Compare
Choose a tag to compare

v0.4.33.2

24 May 17:24
v0.4.33.2
2fc2ad4
Compare
Choose a tag to compare

v0.4.33.1

22 May 04:38
v0.4.33.1
3a489fb
Compare
Choose a tag to compare

v0.4.33.0

30 Apr 11:02
ec6f13e
Compare
Choose a tag to compare

Changelog

  • Fix asset bundle serialization in hkGetClassFromName
  • @Kasuromi: Fix for inlined Image::GetType in GetTypeInfoFromTypeDefinitionIndex detour (#32)
  • @Kasuromi: Dump Il2Cpp Exception stack traces from proxy class (#31)

Packages are also available on BepInEx NuGet:

v0.4.32.0

23 Apr 14:59
Compare
Choose a tag to compare
Bump version

v0.4.31.0

21 Apr 19:10
Compare
Choose a tag to compare

Changelog

  • Add back .NET Framework 4.7.2 target as it's needed by Visual Studio and MSBuild tasks
  • @Panthr75: Support generic out T and ref T as parameters in injected types (#28)
  • @simonkellly: Make Il2CppReferenceField use mono objects when available (#29)

Packages are also available on BepInEx NuGet: