Releases: BepInEx/Il2CppInterop
v1.1.2
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
v1.1.1
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
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
- Added more
- 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
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
- CLI and generator API support
- Refactored code structure:
Il2CppInterop.Generator
- API for analyzing Il2Cpp code and generating proxy assemblies. This is comparable to the oldLibAssemblyUnhollower
Il2CppInterop.Runtime
- API for interacting with Il2Cpp at runtime. This is comparable toUnhollowerBaseLib
andUnhollowerRuntimeLib
- 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
v0.4.33.2
v0.4.33.1
v0.4.33.0
v0.4.32.0
Bump version
v0.4.31.0
Changelog
- Add back .NET Framework 4.7.2 target as it's needed by Visual Studio and MSBuild tasks
- @Panthr75: Support generic
out T
andref T
as parameters in injected types (#28) - @simonkellly: Make Il2CppReferenceField use mono objects when available (#29)
Packages are also available on BepInEx NuGet: