Skip to content

Releases: rdev-cpp/IL2CPP-Auto-Resolver

v1.2.1

10 Dec 15:28
c99b6c3

Choose a tag to compare

  • Fixed: Race condition in GetModule() initialization
  • Added: Proper double-checked locking
  • Impact: Eliminates UB in concurrent scenarios

v1.2.0

10 Dec 14:50
074c914

Choose a tag to compare

Fixed

  • Critical: Race condition in module initialization
  • Critical: Thread safety issues in GetModule()

Added

  • Fallback to UnityPlayer.dll for broader compatibility
  • Proper double-checked locking for cache
  • Atomic operations with correct memory ordering

Improved

  • Code simplicity (removed over-engineering)
  • Performance (no unnecessary locks)
  • Reliability (full thread safety)

Compatibility

  • C++17 or higher
  • Windows only (uses WinAPI)
  • IL2CPP Unity games (GameAssembly.dll / UnityPlayer.dll)

v1.1.0

07 Dec 14:59
d2092d8

Choose a tag to compare

Added:

  • Lazy Loading: Removed the heavy CacheAllFunctions scan at startup. Exports are now resolved via GetProcAddress and cached only on demand (when requested). This drastically improves injection speed and reduces memory usage.

  • Thread Safety: Implemented std::shared_mutex (Read-Write Lock). The resolver is now fully thread-safe, allowing multiple threads to query addresses simultaneously without race conditions or game crashes.

  • True Header-Only: Modernized to C++17. Utilized inline static variables to fix linker errors (e.g., LNK2005/LNK1169 - multiple definition) when including the header in multiple source files.

  • Auto-Resolution: Refactored initialization. The resolver automatically acquires the GameAssembly.dll handle upon the first call, making manual initialization optional.

  • ⚠️Project must be compiled with C++17 standard (/std:c++17) or higher.

1.0.0

07 Nov 13:46
bd0322b

Choose a tag to compare

Main release