![LavaGang-MelonLoader-0.6.4 icon](https://gcdn.thunderstore.io/live/repository/icons/LavaGang-MelonLoader-0.6.4.png.128x128_q95.png)
MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Date uploaded | 3 months ago |
Version | 0.6.4 |
Download link | LavaGang-MelonLoader-0.6.4.zip |
Downloads | 30384 |
Dependency string | LavaGang-MelonLoader-0.6.4 |
README
GENERAL INFORMATION:
- Debug Mode is for Development Purposes.
Use it to help Develop and Debug MelonLoader, Plugins, and Mods. - All Logs are made in the created MelonLoader/Logs folder in your Game's Installation Folder.
- All Plugins get placed in the created Plugins folder in your Game's Installation Folder.
- All Mods get placed in the created Mods folder in your Game's Installation Folder.
- The Official Wiki
- Proxies
- Launch Options
- Debugging
- Linux Support (WINE / STEAM PROTON / NATIVE)
- Android & Oculus Quest Support (WIP)
Usage Guides: |
---|
INSTALLER |
MANUAL USE |
Example Projects: |
---|
TestPlugin |
TestMod |
Nightly Builds: |
---|
master |
alpha-development |
universality |
❤️ SPECIAL THANKS TO OUR WONDERFUL PATRONS ❤️
- Givo
- Florian Fahrenberger
- Python
- SirCoolness
- SlidyDev
REQUIREMENTS:
- .NET Framework 3.5 Runtime
- .NET Framework 4.7.2 Runtime
- .NET Framework 4.8 Runtime
- .NET 6.0 Desktop Runtime
- Microsoft Visual C++ 2015-2019 Re-distributable [x86] [x64]
HOW TO USE THE INSTALLER:
- Follow the Instructions in one of the Guides linked below.
Installer Guides: |
---|
INSTALL |
UPDATE |
RE-INSTALL |
UN-INSTALL |
HOW TO MANUALLY USE MELONLOADER:
UPDATE / RE-INSTALL:
- Follow the Steps to UN-INSTALL
- Follow the Steps to INSTALL
INSTALL:
- Make sure the Game is Closed and Not Running before attempting to Install.
- Make sure you have all the Requirements Installed before attempting to Install.
- Download MelonLoader [x86] [x64]
- Extract the MelonLoader folder from the MelonLoader Zip Archive to the Game's Installation Folder.
- Extract version.dll & dobby.dll from the MelonLoader Zip Archive to the Game's Installation Folder.
UN-INSTALL:
- Make sure the Game is Closed and Not Running before attempting to UN-INSTALL.
- Remove the version.dll & dobby.dll files from the Game's Installation Folder.
- Remove the MelonLoader folder from the Game's Installation Folder.
These additional steps below are OPTIONAL if you want to do a FULL UN-INSTALL.
- Remove the Plugins folder from the Game's Installation Folder.
- Remove the Mods folder from the Game's Installation Folder.
- Remove the UserData folder from the Game's Installation Folder.
START SCREEN CUSTOMIZATION:
-
After Initial Launch the Start Screen will create a folder under
UserData/MelonStartScreen
-
Inside this folder it will create a
Themes
folder and aConfig.cfg
file for Customization Settings. -
You can also place Custom Themes in the created
Themes
folder. -
Inside
Config.cfg
you can set what Theme folder you would like to use. -
If you set your Theme folder to
Random
it will randomly pick and load from existing Themes. -
For Custom Themes you can place Custom Images in their Theme folder to further customize it.
-
Listed below are the Compatible File Names and Extensions for the Custom Images.
Compatible File Names |
---|
Background |
Loading |
Logo |
Compatible Extensions |
---|
.gif |
.png |
.jpg |
.jpeg |
LAUNCH OPTIONS:
- These are additional Launch Options that MelonLoader adds to the Game.
- These can be used to manipulate how MelonLoader works.
Argument | Description |
---|---|
--no-mods | Launches the Game without loading any Plugins or Mods |
--quitfix | Fixes the Hanging Process Issue with some Games |
--melonloader.consolemode | Changes the Theme Display Mode of the Console [ Default = 0 ] |
--melonloader.consoleontop | Forces the Console to always stay on-top of all other Applications |
--melonloader.consoledst | Keeps the Console Title as Original |
--melonloader.hideconsole | Hides the Console |
--melonloader.hidewarnings | Hides Warnings from Displaying |
--melonloader.debug | Debug Mode |
--melonloader.maxlogs | Max Log Files [ Default: 10 ] [ NoCap: 0 ] |
--melonloader.maxwarnings | Max Warnings per Log File [ Default: 100 ] [ NoCap: 0 ] [ Disabled: -1 ] |
--melonloader.maxerrors | Max Errors per Log File [ Default: 100 ] [ NoCap: 0 ] [ Disabled: -1 ] |
--melonloader.loadmodeplugins | Load Mode for Plugins [ Default: 0 ] |
--melonloader.loadmodemods | Load Mode for Mods [ Default: 0 ] |
--melonloader.basedir | Changes the Proxy's Load Directory for the Bootstrap |
--melonloader.disablestartscreen | Disable the Start Screen |
- These ones below are Unity Engine specific Launch Options.
Argument | Description |
---|---|
--melonloader.unityversion | Allows you to Specify the Version of Unity Engine |
--melonloader.agfoffline | Forces Assembly Generator to Run without Contacting the Remote API |
--melonloader.agfregenerate | Forces Regeneration of Assembly |
--melonloader.agfregex | Forces Assembly Generator to use a Specified Regex |
--melonloader.agfvdumper | Forces Assembly Generator to use a Specified Version of Dumper |
--melonloader.agfvunhollower | Forces Assembly Generator to use a Specified Version of Il2CppAssemblyUnhollower |
--melonloader.disableunityclc | Disable Unity Console Log Cleaner |
LOAD MODES:
- Load Mode Launch Options are a way to dictate how you want Mods or Plugins to Load.
- Below is the Compatible Values and what each of them do.
Value | Action |
---|---|
0 | Load Only if the File doesn't have the ".dev.dll" Extension |
1 | Load Only if the File has the ".dev.dll" Extension |
2 | Load All |
CONSOLE DISPLAY MODES:
- Console Display Modes are built in Themes for the Console
- Below is the Compatible Values and what each of them do.
Value | Mode |
---|---|
0 | Normal |
1 | Magenta |
2 | Rainbow |
3 | Random Rainbow |
PROXIES:
- The Proxy DLL is able to be Renamed to the Compatible File Names below.
- By Default the Proxy is named as "version.dll".
- For most Games the Default File Name should work perfectly fine.
- Some Games may have you use a different Proxy File Name depending on the Architecture, Operating System, version of the Engine used by the Game, etc.
File Names: |
---|
version.dll |
winhttp.dll |
winmm.dll |
LICENSING & CREDITS:
MelonLoader is licensed under the Apache License, Version 2.0. See LICENSE for the full License.
Third-party Libraries used as Source Code and/or bundled in Binary Form:
- Research Detours Package is licensed under the MIT License. See LICENSE for the full License.
- Mono is licensed under multiple licenses. See LICENSE for full details.
- HarmonyX is licensed under the MIT License. See LICENSE for the full License.
- MonoMod is licensed under the MIT License. See LICENSE for the full License.
- Mono.Cecil is licensed under the MIT License. See LICENSE for the full License.
- Newtonsoft.Json is licensed under the MIT License. See LICENSE for the full License.
- TinyJSON is licensed under the MIT License. See LICENSE for the full License.
- Tomlet is licensed under the MIT License. See LICENSE for the full License.
- SharpZipLib is licensed under the MIT License. See LICENSE for the full License.
- Semver is licensed under the MIT License. See LICENSE for the full License.
- UnityEngine.Il2CppAssetBundleManager is licensed under the Apache License, Version 2.0. See LICENSE for the full License.
- UnityEngine.Il2CppImageConversionManager is licensed under the Apache License, Version 2.0. See LICENSE for the full License.
- Illusion Plugin Architecture is licensed under the MIT License. See LICENSE for the full License.
- MuseDashModLoader is licensed under the MIT License. See LICENSE for the full License.
- mgGif is licensed under the MIT License. See LICENSE for the full License.
- AssetsTools.NET is licensed under the MIT License. See LICENSE for the full License.
- AssetRipper.VersionUtilities is licensed under the MIT License. See LICENSE for the full License.
- Steam Library, VDF, and ACF Parsing from SteamFinder.cs by Umbranoxio and Dalet.
- bHapticsLib is licensed under the MIT License. See LICENSE for the full License.
- IndexRange is licensed under the MIT License. See LICENSE for the full License.
- ValueTupleBridge is licensed under the MIT License. See LICENSE for the full License.
- WebSocketDotNet is licensed under the MIT License. See LICENSE for the full License.
- Pastel is licensed under the MIT License. See LICENSE for the full License.
- Il2CppInterop is licensed under LGPLv3 License. See LICENSE for the full License.
External Libraries and Tools that are downloaded and used at Runtime:
- Cpp2IL is licensed under the MIT License. See LICENSE for the full License.
- Il2CppDumper is licensed under the MIT License. See LICENSE for the full License.
- Unity Runtime Libraries from Unity-Runtime-Libraries are part of Unity Software.
Their usage is subject to Unity Terms of Service, including Unity Software Additional Terms.
See MelonLoader Wiki for the full Credits.
MelonLoader is not sponsored by, affiliated with or endorsed by Unity Technologies or its affiliates.
"Unity" is a trademark or a registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.
CHANGELOG
v0.6.4
- Removed Analytics Blocker for causing crashes, will be ported to its own Plugin
- Updated Cpp2IL to 2022.1.0-pre-release.15
v0.6.3
- Updated NuGet Packages
- Updated Cpp2IL to 2022.1.0-pre-release.14
- Updated Il2CppInterop to 1.4.6-ci.433
- Updated Tomlet to 5.3.1
- Fixed Referenced DLLs not being resolved properly resulting in crashes
- Fixed Proxy being unable to find Original DLL (Credits to RinLovesYou :3)
- Fixed LoadLibrary failing on in rare cases (Credits to RinLovesYou :3)
- Fixed Preload Module failing to initialize included resources (Credits to TrevTV :P)
- Reimplemented Log Caching and Logs folder
- Implemented Additional Initialization Error Handling
- Implemented Garbage Collection handling for NativeHook
- Rewrote the Demeo Compatibility Layer to be less prone to breakage
- Fixed DarkRed ConsoleColor (Credits to Scoolnik :D)
- Fixed several .NET Framework 2.0 compatibility issues (Credits to slxdy :D)
- Fixed an issue with Mods loading when Il2Cpp Assembly Generation fails
- Added
--melonloader.sab
Launch Option to disable the Analytics Blocker - Fixed an issue with MelonCompatibilityLayer causing crashes on some games
v0.6.2
- Added a compatibility layer for EOS (Epic Online Services), preventing a crash caused by the Overlay
- Updated Cpp2IL
- Updated Tomlet
- Updated
MelonLoader.NativeUtils.NativeHook
to prevent GC issues - Updated Il2CppAssetBundleManager for Il2CppInterop
- Fixed Proxy being unable to find System32 when Windows is not installed in C:
- Fixed logger sha256 hash (Credits to Windows10CE)
- Fixed DAB Thread safety & Oculus Profile Pictures (Credits to SirCoolness)
- Fix Melon Load Order (Credits to Loukylor)
- General fixes for Proxy & Bootstrap
v0.6.1
- Refactored Bootstrap, more informative errors
- Updated classdata.tpk, fixing some issues when reading game versions
- Deprecated NativeHooks, giving a new utility class
MelonLoader.NativeUtils.NativeHook<T> where T : Delegate
- Updated MonoMod, fixing some issues with old Mono Games
- Fix some compatibility issues for certain Mono Games
- Implemented some missing launch options
v0.6.0:
- Added Linux Support (Credits to RinLovesYou :3)
- Switched the runtime to .NET 6 CoreCLR for Il2Cpp Games (Credits to SamboyCoding :D)
- Moved a lot of logic from Native to Managed (Credits to SamboyCoding & RinLovesYou :D)
- Replaced Unhollower with Il2CppInterop (Credits to SamboyCoding, nitrog0d & ds5678 :D)
- Rewrote Proxy & Bootstrap (Credits to RinLovesYou :3)
- Fixed some start screen corruption
- Added helper methods for determining current platform
- added
Utils.MelonConsole
for printing to console on mono games - Removed Il2CppDumper
- Update HarmonyX, MonoMod, and Tomlet
- Switched from MSDetours to Dobby
- Added full RGB color support in console using Pastel
- Added
MelonEnvironment
class
v0.5.7:
- Fixed the MelonEvent registration sorting. (Credits to SlidyDev :D)
- Inverted the MelonEvent priority sorting system to match the MelonPriorityAttribute. (Credits to SlidyDev :D)
- Updated Start Screen Signatures. (Credits to Slaynash :3)
- Fixed Start Screen Issues with UnityInternals.runtime_class_init.
- Updated Class Data TPK. (Credits to ds5678 :D)
- Updated Cpp2IL to v2022.1.0-pre-release.8.
- Added Launch Option Logging.
- Added new MelonInfo constructors.
- Setup Compatibility Layer for BONEWORKS and BONELAB.
- Made Game Specific Compatibility Layers load agnostically.
- Fixed race condition issue with multiple concurrent scene loads.
- Removed BONEWORKS_OnLoadingScreen MelonMod override and MelonEvent.
- Added Auto-Resolver for OnLoadingScreen MelonMod methods.
- Rewrote ServerCertificateValidation Fix to use Reflection.
- Separated Melon Harmony Initialization from OnApplicationStart events.
- Fixed issue with MelonInfo Semver Constructors being inaccessable.
- Added LemonTuple Constructors.
v0.5.5:
- Rewrote Proxy. (Credits to autumncpp :D)
- Updated AssetsTools.NET to v3.0.0-preview1.
- Updated AssetRipper.VersionUtilities to v1.2.1.
- Removed Game Blacklist. (Credits to SlidyDev :D)
- Rewritten the Melons loader. (Credits to SlidyDev :D)
- Added MelonEvents. (Credits to SlidyDev :D)
- Added MelonModules. (Credits to SlidyDev :D)
- Gave all MelonModules their own logger instances. (Credits to SlidyDev :D)
- Added MelonAssemblies. (Credits to SlidyDev :D)
- Fixed MelonLoader's deinitialization time. (Credits to SlidyDev :D)
- Implemented warning for Melons which don't use a semver-style version. (Credits to SlidyDev :D)
- Fixed Crash Issue with Demeo Compatibility Layer.
- Fixed Issue with VR Mode on Demeo.
- Fixed Issues with Demeo CL not refreshing Melon Listings.
- Fixed MME Issue with MelonBase.
- Updated Cpp2IL to v2022.1.0-pre-release.7.
- Backported StackFrame::GetMethod Fix. (Credits to Samboy :3)
- Added a singleton class for Melons (Melon<T>) (Credits to SlidyDev :])
- Fixed Issue with Unity Game Check in Proxy.
- Removed
--melonloader.agfvunity
Launch Option. - Added
--melonloader.unityversion
Launch Option. - Added Backup Unity Version Parsing Method.
- Fixed Issue with Reading Launch Options.
- Temporarily disabled mono_debug_init Call for Mono Games to fix Crash Issue.
- Removed Useless DLL Name Parse.
- Downgraded HarmonyX and MonoMod.RuntimeDetour to fix NRE issue with MonoMod's ReflectionHelper.
- Added a simpler unsub method for melon events. (Credits to Samboy :3)
- Replaced Assembly Generator User-Agent with Build Version.
- Cleaned the melon info log format. (Credits to SlidyDev :])
- Implemented Fallback Unity Version Parsing. (Credits to Samboy and ds5678 :D)
- Swapped out the official bHaptics library with the open-source bHapticsLib.
- Fixed MRE Issue with MelonLoader.Core referencing the Obsolete bHaptics class.
- Fixed Regex Compatibility Issue with Older Runtimes.
- Added additional null checking for Start Screen's GfxDevice.
- Fixed Start Screen issue with Signature Scanning GfxDevice on Unity 2020.3.15 x86 Mono.
- Updated Tomlet to v5.0.0.
- Implemented Fallback Game Information Parsing.
- Fixed issue with manually setting Unity version via Launch Option causing it to not attempt to read Game Name, Game Developer, or Game Version.
v0.5.4:
- Modified VerifyLoaderVersion Attribute to bring it in line with SemVer spec.
- Removed File Watchers from Start Screen Config.
- Removed Manual Parsing for Game Information.
- Implemented AssetsTools.NET.
- Rewrote Unity Information Handling.
- Fixed Issue with Exception Logging on Older Mono versions.
- Improved UnityInformationHandler Exception Handling.
- Fixed Issue with Il2CppAssemblyUnhollower Initialization.
- Fixed Issue with Cpp2IL Package Cleanup.
- Fixed Comparison Issue with Semver.
- Fixed Issue with Start Screen Background and Logo not Animating Properly.
- Added Start Screen Element Position Customization.
- Fixed Issue with Start Screen Progress Bar Positioning.
- Added Start Screen Version Text Customization.
- Added Start Screen Version Text Anchor Customization.
- Added Start Screen Version Text Style, RichText, FontSize, Scale, and LineSpacing Customization.
- Demeo_LobbyRequired has been renamed to Demeo_LobbyRequirement.
- Cleaned up Start Screen Config.
- Rewrote Start Screen UI Element Backend.
- Updated AssetsTools.NET to v2.0.11.
- Fixed Issue with Melon Author Coloring.
- Added Theme Folders and Theme Selection to Start Screen Customization.
- Fixed Issue with Custom Start Screen Background Image rendering upside-down.
- Fixed Issue with Custom Start Screen Image Scanning not checking the Theme's Folder.
- Fixed Issue with TomlEnumParseException during MelonPreferences load causing Crashing.
- Added Default Fallback to Start Screen Customization.
- Added Old Category Purging to Start Screen Customization.
- Fixed Issue with Custom Start Screen Image Scanning not taking into account File Extension.
- Added Optional Random Theme Selection to Start Screen.
- Fixed Issue with OnPreferencesSaved and OnPreferencesLoaded being called Incorrectly.
- Changed "No Compatibility Layer Found" Message from Error to Warning. (Credits to ds5678 :D)
- Implemented AssetRipper.VersionUtilities (Credits to ds5678 :D)
- Fixed Demeo Incompatibility Issues with Compatibility Layer and PC Edition.
- Combined Demeo Compatibility Layers into 1 Singular Dll.
- Fixed TLS Bridging Failure on Unity 2021.2.7 x64 Il2Cpp.
- Updated to Il2CppAssemblyUnhollower v0.4.18.0.
- Improved Signature Scanning for Il2CppUnityTls Compatibility Layer.
- Fixed Mono TLS Provider Registration.
- Updated AssetRipper.VersionUtilities to v1.2.0. (Credits to ds5678 :D)
- Implemented TLS Certificate Validation Fix.
- Fixed Downloading Issue with Deobfuscation Maps.
- Fixed Crash Issue with Start Screen attempting to instantiate stripped classes. (Credits to Samboy :3)
- Fixed Crash Issue with Il2CppUnityTls Compatibility Layer. (Credits to Samboy :3)
- Fixed Hashing Case Issue with Deobfuscation Maps.
- Removed ILRepack. (Credits to ds5678 :D)
- Added Forwarding Attributes. (Credits to ds5678 :D)
- Moved Il2Cpp Harmony Patcher to Il2Cpp Support Module.
- Fixed Issue with Solution Build Dependencies copying to Output Directory.
- Fixed Issue with Il2Cpp Harmony Patcher breaking on Custom Il2Cpp Types. (Credits to ds5678 :D)
- Implemented Management and Disposal Handling for Start Screen UI Elements.
- Used a different namespace for UnityEngine classes in Start Screen wrapper. (Credits to Sinai :D)
- Removed runtime_class_init Call from MelonUnityEngine.UnityObject to fix Crashing Issue.
- Updated Cpp2IL to v2022.1.0-pre-release.3. (Credits to Samboy :3)
- Added Version Check to Cpp2IL Package Usage.
v0.5.3:
- Updated HarmonyX to v2.8.0.
- Updated Tomlet to v3.1.3.
- Updated SharpZipLib to v1.3.3.
- Updated Il2CppAssemblyUnhollower to v0.4.17.1.
- Updated Newtonsoft.Json to v13.0.1.
- Updated Cpp2IL to v2022.0.0.
- Removed Analytics Blocker's modification of hostname if NULL. (Credits to SirCoolness :D)
- Fixed Connection Issue on Demeo.
- Added Demeo_LobbyRequired Attribute to Compatibility Layer to enforce all lobby members on Demeo to have a specific melon and version.
- Implemented mgGif for Start Screen Image Parsing. (Credits to TrevTV :P)
- Reimplemented Image Frame Parsing for Start Screen. (Credits to TrevTV :P)
- Moved EnumExtensions from MelonStartScreen Assembly to Main MelonLoader Assembly.
- Removed ZIP Loading Functionality for Plugins and Mods folders.
- Fixed Issue with FileHandler Blacklist.
- Added Optional MelonID Attribute for Melons.
- Updated Logger to Print MelonID when set.
- Removed Obsolete Attributes from MelonLogger static methods.
- Internal Failures now print their proper Failure Messages in the MessageBox even if not in Debug Mode.
- Cleaned Up Start Screen's Animated Image Customization.
- Added Start Screen Color Customization for Background, Progress Bar, and Progress Bar Outline.
- Added Start Screen Text Color Customization.
- Fixed Issue with Colors Reading and Writing to Start Screen Config Incorrectly.
- Implemented Element Toggles for Start Screen.
- Added LemonArraySegment because System.ArraySegment doesn't have interfaces on older .NET Framework versions.
- Fixed Issue with SharpZipLib's InflaterHuffmanTree not properly Segmenting Array.
- Refactored Start Screen Image Handling.
- Added Start Screen Logo Customization.
- Added Start Screen Background Image Customization.
- Proxy will now terminate any Non-Unity Process that load it without warning. Example of this is UnityCrashHandler.
- Fixed Issue with Custom Start Screen Background Image being Inverted.
- Added JPG/JPEG Support to Start Screen Image Customization.
- Replaced Start Screen's Default Loading GIF. (Credits to gompocp :D)
- Combined Mono Support Modules into 1 Singular Support Module.
- Fixed Start Screen Issue with Image Filtering.
- Added Start Screen Image Filtering Customization.
- MelonPreferences_Category DisplayName and IsHidden is now Modifiable during Runtime.
- MelonPreferences_Entry DisplayName, Description, IsHidden, and DontSaveDefault are now Modifiable during Runtime.
- Added MelonPreferences_Category.IsInlined for inlining the TomlTable of the Category.
- MelonPreferences_Entry.Description now Writes to File as a Comment.
- Changed MelonPreferences_Entry.Description to Preceding Comment.
- Added MelonPreferences_Entry.Comment for Inline Comment.
- Fixed Issue with Apostrophes in File Pathing. (Credits to SlidyDev :D)
- Added Methods for deleting and renaming Entries in MelonPreferences. (Credits to DragonPlayerX :D)
- Removed Newtonsoft.Json from Il2CppAssemblyUnhollower Blacklist.
- Moved OnApplicationStart Initialization to Component Start.
- MelonPreferences files will now Auto-Reset if TomlUnescapedUnicodeControlCharException is thrown when the file is corrupt.
- Fixed Assembly Verification Issue with MonoMod DMD Dumping.
- Added OnPreferencesSaved string variant that gets passed the Preferences's File Path.
- Added OnPreferencesLoaded string variant that gets passed the Preferences's File Path.
- Fixed MissingMethodException Issue with MelonLoader.MelonPreferences_Category.CreateEntry.
- Added Il2CppUnityTls CL for Managed-sided Il2Cpp Unity TLS Bridging.
- Fixed Issue with OnSceneWasLoaded not being called for First Scene Load.
- [StartScreen] ICall <2018.1 for UE.SystemInfo::GetGraphicsDeviceType. (Credits to Slaynash :3)
- Added Additional Exception Catching to Il2CppUnityTls CL.
- Moved InstallUnityTlsInterface Signature Scanning from Bootstrap to Il2CppUnityTls CL.
- Fixed MissingMethodException Issue with MelonUtils.SetCurrentDomainBaseDirectory.
- Added --melonloader.agfregex Launch Option to Force Regex used for Assembly Generation.
- Added LemonSHA256 because System.Security.Cryptography.SHA256 can be stripped.
- Fixed MissingMethodException Issue with MelonHandler.sha256.
- Fixed MissingMethodException Issue with MonoResolveManager.AddSearchDirectory.
- Added LemonSHA512 because System.Security.Cryptography.SHA512 can be stripped.
- Added LemonMD5 because System.Security.Cryptography.MD5 can be stripped.
- Fixed Issue with Assembly Generator where Deobfuscation Regex changes wouldn't induce Regeneration.
- Rewrote Package System in Assembly Generator.
- Fixed Issue with Main Window not having it's Close Button Disabled during Assembly Generation.
- Added OnPreSupportModule override for Plugins and Mods.
- Fixed Issue with Initialization of Il2Cpp Harmony Patcher.
- Temporarily Disabled Start Screen on Unity Versions lower than 2018.
- Improved Exception Catching on Start Screen.
- Added '{' and '}' to Assembly Verifier whitelist.
- Added Melon Author Coloring and MelonAuthorColor Attribute. (Credits to adamdev :D)
- Fixed Issue with Melon Author Coloring.
- Fixed Regeneration Issue with Assembly Generator.
- Temporarily Disabled Start Screen on Unity Versions higher than or equal to 2020.3.22.
- Fixed Issue with Assembly Generator not Re-Enabling the Close Button on the Game Window.
v0.5.2:
- Fixed Issue with --melonloader.basedir Launch Option not finding Bootstrap.dll.
- Fixed Issue with Console not properly Coloring Melon Names. (Credits to benaclejames :D)
v0.5.1:
- Updated Il2CppAssemblyUnhollower to v0.4.16.2.
- Added '(' and ')' Character to Assembly Verification.
- Fixed Issue with Force Launch Options not checking Argument Count.
- Fixed Issue with Proxy not properly detecting UnityCrashHandler.
- Fixed Issue with Proxy not properly locating Bootstrap.
- Fixed Issue with Offline Mode throwing an NRE during Assembly Generation.
- Fixed Issue with Launch Options causing Crash.
- [StartScreen] Fix resize crash on DX11/DX12. (Credits to Slaynash :3)
- Fixed Issue with Older OS Check running under Wine/Proton.
- [StartScreen] Resize fix x86. (Credits to Slaynash :3)
- [StartScreen] Fixed crash on mono. (Credits to Slaynash :3)
- Rewrote MelonLaunchOptions Loading.
- Fixed Issue with Console not displaying Properly under Wine/Proton.
- Fixed Issue with VerifyLoaderVersion Attribute missing methods.
v0.5.0:
- Updated HarmonyX to v2.6.1.
- Updated Tomlet to v2.1.0.
- Updated Il2CppAssemblyUnhollower to v0.4.16.1.
- Updated Cpp2IL to v2021.5.3.
- Added User Libs Directory and Assembly Resolver.
- Replaced StackTrace System in MelonLogger with Instance Based System. 7 Fixed Issue with Il2Cpp Harmony Method Patcher throwing Debug Warnings multiple times for the same Method.
- Implemented Temporary Workaround for Cpp2IL Failing under Wine or Steam Proton.
- Fixed Missing Method Issue caused by LemonAction.
- Implemented MonoResolveManager and Assembly Resolving Management System.
- Removed symbolsdata null check. (Credits to AuM0b :D)
- Implemented Directory Priority Scanning for MonoResolveManager.
- Implemented SteamManifestReader.
- Fixed Issue with Bhaptics API and Steam Version of Bhaptics Player.
- Added an error message for paths with non-ASCII characters. (Credits to SlidyDev :D)
- File Pathing is now printed to Log by Default to help aid in Debugging.
- Implemented Non-ASCII Character Check in Proxy.
- Fixed Issue with ASCII Character Check preventing Bootstrap from Loading.
- Implemented Automated Cleanup System for Support Modules.
- Added MelonLogger Error Overloads for Exceptions. (Credits to zeobviouslyfakeacc :3)
- Implemented Start Screen. (Credits to Slaynash :3)
- Added "--melonloader.disablestartscreen" Launch Option. (Credits to Slaynash :3)
- Added Unity Game Check to Proxy.
- Fixed Issue with MonoResolveManager on x86 Platform.
- Fixed Issue with Proxy's Unity Game Check on Older Unity Versions.
- Made Failure to Properly Load MelonStartScreen less severe of an Error.
- Fixed Type Locking Issue with MelonPreferences_ReflectiveCategory.
- Fixed Issue with MelonLoader reading the wrong Unity Version from EXEs with Custom Info.
- Removed base_path DirectoryExists Check in Mono::CheckLibName. (Credits to Samboy :3)
- Fixed Issue with new Cpp2IL Download.
- Moved Obfuscation Mapping Download to Il2CppAssemblyGenerator folder.
- Added '@' Character to Assembly Verification.
- Fixed Issue with the Start Screen using stripped Func instead of LemonFunc. (Credits to Slaynash :3)
- Fixed Issue with the Start Screen not functioning under Mono Games. (Credits to Slaynash :3)
- Improved Start Screen Compatibility. (Credits to Slaynash :3)
- Changed UnityEngine.Mesh Implementation in Start Screen to Internal Calls. (Credits to Slaynash :3)
- Fixed Issue with the Start Screen's UIVertex Implementation. (Credits to Slaynash :3)
- Fixed Crash Issue with Mesh::SetArrayForChannelImpl. (Credits to Slaynash :3)
- Reimplemented Image Frame Parsing for Start Screen.
- Custom Start Screen Image File Name is now Case Insensitive.
- Improved Frame Size Handling when Parsing Custom Start Screen Image.
- Improved Manual FrameBuffer Input for Image Frame Parsing.
- Changed UnityEngine.Material Implementation in Start Screen to Internal Calls. (Credits to Slaynash :3)
- Fixed Issue with Mono TLS Bridge running on Mono Games.
- Fixed Issue with Proxy not properly detecting Unity Games.
- Fixed Issue with Mono TLS Bridge not failing Gracefully.
- Fixed Issue with Start Screen Support of Unity 2020.2.0+. (Credits to Slaynash :3)
- Implemented Automatic Aspect Ratio Sizing for Custom Start Screen Image. (Credits to Slaynash :3)
- Il2Cpp Assembly Generation issues now elevated to Internal Failure.
- [StartScreen] Removed UE.GL class initializer. (Credits to Slaynash :3)
- [StartScreen] Put the NSR in a try/catch. (Credits to Slaynash :3)
- [StartScreen] Mono + Mono x64 fixes. (Credits to Slaynash :3)
- [StartScreen] Fix UE.Graphics icall fallback. (Credits to Slaynash :3)
- [StartScreen] Fix text rendering on Mono. (Credits to Slaynash :3)
- Fixed Resolving Issue with MonoResolveManager.
- Switched Coroutine System for Il2Cpp to a Wrapper based Interface. (Credits to HookedBehemoth :D)
- Fixed occasional double-logging issue with MelonLogger. (Credits to benaclejames :D)
- Removed Useless Logger Instance Constructor.
- Added more Comprehensive Exception Message when attempting to use an Instance Patch Method.
- Fixed Conflict Issue with Debug Mode.
- Added "--melonloader.disableunityclc" Launch Option to toggle Unity Console Log Cleaner.
- Fixed Issue with Process.MainWindowHandle and Process.MainWindowTitle returning null.
- Improved Assembly Verifier to make it less angry about small assemblies. (Credits to knah :D)
- Use ReferenceEquals to compare il2cpp delegates as op_equality is not always present. (Credits to knah :D)
- Fixed Issue with Animated Image on Start Screen using Incorrect Sizing.
- [StartScreen] <U2018.3 and Mono x64 fixes. (Credits to Slaynash :3)
- Added MelonLoader.Assertions.LemonAssert Utility for Universal Assertions Functionality.
- Implemented Map Based Backend for Assertions under MelonLoader.Assertions.LemonAssertMapping.
- Fixed Issue with LemonAssert.IsNull Mapping.
- Implemented SemVer Library.
- Fixed Comparison Issue with VerifyLoaderVersion Attribute.
v0.4.3:
- Fixed Issue with Mono Library Scanning.
- Updated HarmonyX to v2.5.1.
- Updated Cpp2IL to v2021.2.4.
- Fixed Issue with Assembly Generator not responding to RemoteAPI when Forcing Dumper Version.
v0.4.2:
- Fixed Issue with Internal Calls being added twice.
- Fixed Issue with Compatibility Layer System not running Constructors.
- Fixed Issue with Compatibility Layer System having the RefreshMods event ran for Plugins.
- Fixed Issue with Compatibility Layer System's Assembly to Resolver conversion check failing.
- Updated Cpp2IL to v2021.1.2.
- Updated Il2CppAssemblyUnhollower to v0.4.15.4.
- Fixed Dependency Issue with MuseDashModLoader Compatibility Layer. (Credits to gompocp :D)
- Fixed Issue with --melonloader.consolemode Launch Option not being properly capped.
- Added Melon Name Sorting for Printout Log. (Credits to ds5678 :D)
- Updated Il2CppDumper to v6.6.5.
- Fixed Issue with Demeo Integration not showing Plugins.
- Added MelonProcess Attribute.
- Added MelonGameVersion Attribute for Mods.
- Fixed Issue with Core PreStart and OnApplicationEarlyStart not getting called on Mono Games.
- Added --melonloader.basedir Launch Option.
v0.4.1:
- Fixed Issue with Compatibility Layer system throwing NRE about Default Constructors.
- Added MelonCompatibilityLayer.WrapperData Extensions.
- Fixed Case Issue with MelonHandler not handling File Extensions properly.
- Fixed Case Issue with MelonHandler not handling File Extensions inside ZIPs properly.
- Fixed Issue with the Close Button of the Console still being Active during Assembly Generation.
- Fixed Issue with MelonHandler not calling OnModSettingsApplied on Legacy Melons.
- Fixed Issue with DAB not properly caching already found Hosts.
- Fixed NRE Issue in Il2CppAssemblyGenerator.RemoteAPI.ContactHosts. (Credits to zeobviouslyfakeacc :3)
- Updated Tomlet to v1.3.5. (Credits to loukylor and Samboy :3)
- Added MuseDashModLoader Compatibility Layer. (Credits to gompocp :D)
- Fixed Issue with MelonLogger causing Crash on null Input Text. (Credits to loukylor :3)
- Fixed Issue with MelonLogger not allowing Empty Input Text. (Credits to ds5678 :D)
- Updated Il2CppDumper to v6.6.3.
- Swapped out Il2CppDumper for Cpp2IL.
- Added "--melonloader.agfoffline" Launch Option to Force the Assembly Generator to Run without Contacting the Remote API.
- Fixed Issue with MelonLogger not abiding by Warning and Error Caps.
- Fixed Issue with Assembly Generator using the wrong Download URL for Cpp2IL.
- Updated Cpp2IL to v2021.1. (Credits to ardittristan and Samboy :3)
- Fixed Issue with MelonGameAttribute not setting Name after Creation.
- Converted Compatibility Layer System to be Module Based.
- Fixed Issue with Compatibility Layer System running Module Setup twice.
- Implemented Demeo Integration.
- Fixed String Marshalling Issue with bHaptics Native Library.
- Update Il2CppAssemblyUnhollower to v0.4.15.3.
- Fixed Issue with Compatibility Layer System incorrectly casting Delegates. (Credits to ds5678 :D)
- Fixed Issue with Log Coloration from Cpp2IL. (Credits to Samboy :3)
- Improved Analytics Blocker.
- Added "psapi.dll" Support to Proxy.
- Fixed Encoding Issue with MelonLogger. (Credits to lolligun :D)
- Cleaned Up Logger Implementation. (Credits to benaclejames :D)
- Fixed Issue with Console not properly using Non-Ansi Manual Coloring. (Credits to benaclejames :D)
- Fixed Issue with Default Melon Constructors not being run.
v0.4.0:
- Tweaked Assembly Load exceptions logging. (Credits to Slaynash :3)
- Fixed Assembly Load logging typo. (Credits to Slaynash :3)
- Added MelonUtils.HashCode.
- Fixed Issue with UnityCrashHandler.
- Cleaned up Console Title Renaming.
- Added Game Name to Console Title.
- Added Game Version to Console Title.
- Changed Debug Mode Indicator in Console Title to "[D]".
- Updated bHaptics Native Library to v1.5.3.
- Fixed Issue with Console Always On Top Launch Options causing Warnings to be Hidden. 11 Fixed Issue with Force Version Launch Options being overwritten.
- Fixed Issue with Force Version Launch Options counting "0.0.0.0" as a valid version.
- Added "--melonloader.consoledst" Launch Option. When Used it will set the Console Title as the Game Name.
- Added Secret Lemon.
- Added Game Version to Logs.
- Fixed Collision Issue with Hash Code Generation.
- Improved Hash Code Generation.
- Improved SamboyAPI Implementation in Assembly Generator.
- Added Wine Detection to Operating System Check.
- Converted Assembly Generator to using Internal Calls instead of Native Exports.
- Removed Native Exports from Bootstrap.
- Fixed Issue where Debug Mode's "[D]" would print to log.
- Fixed Issue with SamboyAPI not parsing correctly.
- Added Among Us Deobfuscation Mapping.
- Fixed Issue with Game Version returning 0.
- Fixed Issue with Deobfuscation not abiding by Config's Obfuscation Regex as a fallback.
- Fixed Issue with bHaptics Library causing "Unable to Connect" to be spammed in Console.
- Added Color32 Support to MelonPreferences.
- Internal Failures now Kill the Process when thrown.
- Fixed Issue with Analytics Blocker incorrectly blocking certain hosts.
- Added OnApplicationLateStart Melon Override.
- Added Missing Attribute Cleanup Fix from Installer.
- Improved Proxy.
- Added dont_save_default Option to MelonPreferences. (Credits to YOWChap :D)
- Added Backwards Compatibility for MelonPreferences. (Credits to knah :D)
- Fixed the return type of the MelonPreferences API. (Credits to knah :D)
- Fixed Issue with HostName Check in Analytics Blocker.
- Fixed Issue with HarmonyInstance.Unpatch not doing a proper null check.
- Proxy will now have an Error Popup when it has an Invalid File Name.
- Updated Il2CppDumper to v6.5.0.
- Added Object Oriented File System for MelonPreferences.
- Added MelonPreferences_Category.SetFilePath.
- Added MelonPreferences_Category.ResetFilePath.
- Fixed Issue with Core Initialization.
- Fixed Conflict Issue with Multiple MelonPreferences Categories using the same file.
- Fixed Issue with File Watcher System and Separated MelonPreferences Files.
- Fixed Issue with OnPreferencesLoaded not being called on Creation of a Separated MelonPreferences File.
- Moved GetMelonFromStackTrace to MelonUtils.
- Made GetMelonFromStackTrace Accessible.
- Fixed Encoding Issue with Mono API. (Credits to constfold :3)
- Fixed Issue with LoadLibrary failing when a DLL file path contains Non-ASCII Characters. (Credits to constfold :3)
- Fixed Issue with Unicode Command Line. (Credits to constfold :3)
- Removed MelonBase.Compatibility.
- Added MelonPlatform Attribute.
- Added MelonPlatformDomain Attribute.
- Added Proper Check for if MelonPlugin or MelonMod is Incorrectly Loaded.
- Implemented MelonPlatform Attribute Check.
- Implemented MelonPlatformDomain Attribute Check.
- Added MelonAdditionalDependencies Attribute.
- Implemented MelonAdditionalDependencies Attribute Check.
- Implemented File Path Display for Latest.log when Internal Failures occur.
- Fixed Issue with Missing Plugin Check.
- Fixed Issue with TomlArray trying to act as a List.
- Made Initialization Exception Logging more Verbose. (Credits to constfold :3)
- Fixed Issue with TomlArray Transform causing Out of Range Exception.
- Fixed Issue with FileSystemWatcher throwing an NIE on some MonoBleedingEdge Games.
- Changed TomlArray.Insert to TomlArray.Replace.
- Upgraded Harmony Library to HarmonyX.
- Ported Il2Cpp Patch Fix to HarmonyX Patcher.
- Added Compatibility Layer for Harmony.
- Added and Implemented RegisterTypeInIl2Cpp Attribute to further streamline Registering Custom Types in Il2Cpp.
- Fixed Internal Failure Issue from Missing Exports with Older Mono.
- Added MelonPreferences_Category.SaveToFile Method.
- Added MelonPreferences_Category.LoadFromFile Method.
- Added VerifyLoaderVersion Attribute for Melons to Specify MelonLoader Version Dependency.
- Added VerifyLoaderBuild Attribute for Melons to Specify MelonLoader Build Dependency.
- Implemented Fallback System to Assembly Generator.
- Implemented Fallback Obfuscation Regex for Among Us.
- Added Enum support in MelonPreferences. (Credits to loukylor :3)
- Fixed Issue with Enum.TryParse in TomlMapper.
- Fixed Issue with Console Title being improperly set on older Unity Versions.
- Fixed Issue with Missing System.dll on older Unity Versions.
- Fixed MME Issue on older Unity Versions.
- Fixed Issue with Mods not running on older Unity Versions.
- Added Load Balancing Hosting for Assembly Generator RemoteAPI. (Credits to DubyaDude and Samboy :D)
- Fixed Small Bug in the RemoteAPI Request System for the Assembly Generator.
- Added Compatibility Layer Resolver to MelonHandler for Future Changes.
- Cleaned Up Inlined Harmony Patch Warning Implementation for Il2Cpp Games.
- Isolated All Harmony Modifications to their own Files.
- Updated HarmonyX to v2.4.0.
- Fixed Issue with Assembly Generator causing Regeneration every Launch.
- Cleaned Up Melon Method Call Implementation.
- Added Compatibility Layer Resolver for IPA Plugins to be Loaded as Mods.
- MelonInfo Attribute No Longer Requires that an Author be Set.
- Fixed Issue with IPA Compatibility Layer not Loading Multi-Plugin Assemblies.
- Fixed Issue with Harmony Patch Attributes not abiding by Melon Priority or Dependency Graph.
- Fixed Issue with RegisterTypeInIl2Cpp Attribute not abiding by Melon Priority or Dependency Graph.
- Fixed Harmony Patch Attribute Collision Issue with IPA Compatibility Layer and Multi-Plugin Assemblies.
- Fixed Issue with ILRepack not Running for Debug Compilation of MelonLoader.dll.
- Fixed Issue with ILRepack not using NuGet Package Paths for Merging.
- Fixed Issue with MelonLoader.dll Compilation would copy NuGet Package Dependencies to Output Folder.
- Improved Compatibility Layer Resolve System.
- Improved MelonLoader Core Initialization.
- Temporarily Disabled the "--melonloader.agfregenerate" Launch Option.
- Added Managed-Sided Command Line Interface.
- Converted Assembly Generator to be ran by Base Assembly.
- Fixed Issue with Parsing Unity Version on Weirdly Marked Versions.
- Fixed Issue with Mono Base Directory being Wrong causing Crashes.
- Added Warning for Transpiler Use on Il2Cpp Unhollowed Methods.
- Added More to Harmony Compatibility Layer.
- Fixed Issue with Missing Harmony.GeneralExtensions and Harmony.CollectionExtensions in Harmony Compatibility Layer.
- Added Description, Validator and BoxedValue to MelonPreferences_Entry. (Credits to Sinai :D)
- Fixed Issue with not Forcing FloatValueSyntax to serialize with decimal for MelonPreferences_Entry. (Credits to Sinai :D)
- Fixed Order of Validation for MelonPreferences_Entry. (Credits to Sinai :D)
- Moved ValueValidator to its own class. (Credits to Sinai :D)
- Added BoxedEditedValue to MelonPreferences_Entry. (Credits to Sinai :D)
- Moved Plugin Loading and OnPreInitialization to before Assembly Generation.
- Added MelonUtils.ParseJSONStringtoStruct.
- Added Custom Hosts Interface for Plugins to add new Contact Hosts for the Assembly Generator's RemoteAPI.
- Removed VRChat_OnUiManagerInit check and override.
- Removed MelonUtils.IsVRChat.
- Added System.Collections.Generic.List Mapping Support for MelonPreferences.
- Assembly Generator now uses the MelonPreferences API for it's Config.
- Fixed NRE Issue with MelonUtils.ParseJSONStringtoStruct.
- Fixed String Null Issue with MelonPreferences.
- Fixed NIE Issue with FileSystemWatcher on GORN failing to be caught properly.
- Fixed Issue with Il2CppAssemblyUnhollower Unstripping Methods and failing to Resolve Unity Dependencies.
- Fixed Issue with Il2CppAssemblyGenerator not setting Working Directory for ProcessStartInfo.
- Added Separate Support Module for Compatibility Layer System to keep References Clean.
- Made Compatibility Layer System Extendible.
- Removed Tomlyn. (Credits to Samboy :D)
- Added Tomlet created by Samboy. (Credits to Samboy :D)
- Converted MelonPreferences to use Tomlet. (Credits to Samboy :D)
- Updated to Tomlet 1.1.0. (Credits to Samboy :D)
- Added ReflectiveCategory API for Type-Checked Category Creation. (Credits to Samboy :D)
- Added SaveToFile to ReflectiveCategory. (Credits to Samboy :D)
- Added a Force-Save option to ReflectiveCategory. (Credits to Samboy :D)
- Fixed NRE Issue with MelonPreferences when Parsing TOML Document.
- Fixed Issue with DAB functionality not properly iterating its list.
- Changed Assembly Generator Config to use new Reflective Categories. (Credits to Samboy :D)
- Fixed NRE Issue with Reflective Categories.
- Updated to Tomlet 1.2.0. (Credits to Samboy :D)
- Updated Il2CppAssemblyUnhollower to v0.4.14.0.
- Updated Il2CppDumper to v6.6.2.
- Improved BHaptics Support Implementation.
- Fixed Issue with PatchShield preventing Harmony Patching on some Games.
- Temporarily Disabled Launch Options Config File.
- Fixed Issue with Il2Cpp Support Fixes running before Il2CppAssemblyGenerator.
- Fixed Launch Option Conflict Issue with Debug Builds.
- Fixed Issue with FileWatcher's NotImplementedException Detection.
- Updated to Tomlet 1.3.0. (Credits to Samboy :D)
- Fixed Ambiguous Match Found Issue with UnhollowerSupport.
- Updated to Tomlet 1.3.1. (Credits to Samboy :D)
- Fixed NRE Issue with Preference Entries to TOML. (Credits to Samboy :D)
- Fixed NRE Issue with Assembly Generator RemoteAPI.
- Fixed MFE Issue with MelonBase.Harmony.
- Fixed Loading Issue with MelonPreferences_ReflectiveCategory.
- Added OnEarlyStartOnApplicationEarlyStart for Plugins. (Credits to Slaynash :3)
- Moved Il2CppAssemblyGenerator after OnApplicationEarlyStart. (Credits to Slaynash :3)
- Fixed Issue with Loading Melons from ZIP Archives.
- Rewrote File Handling and Assembly Loading System.
- Fixed Issue with Extra Tomlet DLL getting copied to Support Modules.
- Added MDB Loading Support for ZIPs.
- Added Source Code Detection for ZIPs.
- Fixed Bad Image Format Exception Issue with Loading DLLs from ZIPs.
- Fixed Issue with Assembly Generator Contacting All RemoteAPI Hosts when One Responded.
- Added OnSceneWasUnloaded MelonMod Override.
- Fixed IOException Issue with Assembly Generator extracting ZIP Archives. (Credits to Extacy :D)
- Fixed Issue with MelonHandler being unable to resolve MelonPriority type.
- Added Better Exception Handling during Melon Resolving.
- Fixed IOORE Issue with Melon Enumeration.
- Fixed Issue with StackTrace not showing Line Numbers even when Debug Symbol Information was present.
- HarmonyX is now integrated and updated through NuGet.
- Fixed Issue with ILRepack and Tomlet Conflicting.
- Fixed Issue with UnhollowerSupport causing BIF Exception to be thrown.
- Fixed Issue with Melon Sorting.
- Fixed Issue with Dependency Sorting.
- Fixed Issue with Assembly Attribute Finding in MelonHandler.
- Improved IL2CPP coroutine exception reporting to include faulty coroutine name, don't continue running an erroring-out coroutine. (Credits to knah :D)
- Fixed Issue with MelonHandler checking File Extensions.
- Fixed Issue with MelonHandler not properly abiding by Load Mode.
- Added Message Suppression Support for the RegisterTypeInIl2Cpp Attribute.
- Fixed Issue with VerifyLoaderVersion Attribute causing an IOORE when parsing SemVer.
- Fixed Issue with VerifyLoaderVersion Attribute not properly abiding by IsMinimum.
- Updated Il2CppAssemblyUnhollower to v0.4.15.0.
- Fixed Issue with newer Il2CppAssemblyUnhollower version breaking Harmony Patching. (Credits to ds5678 :D)
- Fixed Issue with Displaying MelonLoader Version Information.
- Updated Il2CppAssemblyUnhollower to v0.4.15.1.
- Added Missing Harmony Patch Forwarders. (Credits to ds5678 :D)
- Added Error Message for when a Plugin or Mod attempts to Load from the Wrong Folder.
- Updated Tomlet to v1.3.3.
- Added MelonLoader.HarmonyDontPatchAll Assembly Attribute.
- Prepared Changes for Il2CppAssemblyUnhollower v0.4.15.2. (Credits to ds5678 :D)
- Added dnSpy Debugger Environment Variable Handling. (Credits to TechInterMezzo :D)
- Fixed Issue with DNSPY_UNITY_DBG Environment Variable not being Handled.
- Fixed Crash Issue with Certain Oculus Platform Games.
- Fix wrong type being created in IL2CPP SM_Component. (Credits to knah :D)
- Updated Il2CppAssemblyUnhollower to v0.4.15.2. (Credits to knah :D)
- Fixed Issue with Directory Check overextending.
- Improved Native Library Handling.
- Fixed NRE Issue with Support Module being unable to find Application.buildGUID on Certain Unity Engine Versions.
- Fixed Issue with Export mono_debug_domain_create on Older Mono Versions.
v0.3.0:
- Rewrote Proxy from scratch.
- Rewrote Bootstrap from scratch.
- Rewrote MelonLoader from scratch.
- Rewrote AssemblyGenerator from scratch.
- Rewrote Support Modules from scratch.
- Added x86 Support.
- Proxy now has the ability to be named version.dll, winmm.dll, or winhttp.dll.
- OnModSettingsApplied has been changed to OnPreferencesSaved.
- Temporarily Removed OnLevelIsLoading.
- Internal Failures are now a lot more informative.
- Debug Mode is now a lot more informative.
- Logs folder has been moved to MelonLoader/Logs.
- Logger now produces a latest.log file in the MelonLoader folder.
- Removed LightJson. Not Needed.
- Load Mode "-dev" Name Extension has been changed to ".dev" Extension.
- Added Launch Option "--melonloader.dab" to Debug Analytics Blocker.
- Fixed Assembly Resolve Issue between Plugins and Mods.
- MelonHandler now requires Name, Version, and Author to all be properly set in Melons.
- Author is now mandatory to be set in MelonInfoAttribute for Melons. It can no longer be set to null.
- Fixed issue with Support Module due to Time.deltaTime being stripped.
- Fixed Issue with Mono Support Module.
- Fixed Issue with Assembly Generator.
- Fixed Issue with Queued Coroutines in Mono Pre-5 Games.
- Re-added "--quitfix" Launch Option.
- Fixed Console On Top Check.
- Fixed Legacy Support for OnLevelWasLoaded and OnLevelWasInitialized.
- Fixed Legacy Support for Preferences and OnModSettingsApplied.
- Fixed Type Overwrite Issue with MelonPreferences.
- Fixed Loading Issue when a Plugin is in the Mods folder or vice-versa.
- Improved Loading of Plugins and Mods.
- Re-added UnityEngine.Il2CppAssetBundleManager.
- Fixed Issue with UnityEngine.Il2CppAssetBundleManager being outdated.
- Changed Unity Dependencies URL to LavaGang/Unity-Runtime-Libraries.
- Fixed Type Overwrite Issue with MelonPreferences when Loading during Runtime.
- Fixed Legacy Support for MelonPluginInfo and MelonPluginGame.
- Re-added Launch Option "--melonloader.agregenerate".
- Re-added Launch Option "--melonloader.agfvunhollower".
- Added Launch Option "--melonloader.agfvdumper" to Force the Version of Il2CppDumper to use.
- Added Launch Option "--melonloader.agfvunity" to Force the Version of Unity Dependencies to use.
- Fixed Assembly Resolve Issue when a Plugin references a Mod.
- Fixed Displacement Issue when calling Save for MelonPreferences or Legacy MelonPrefs.
- Fixed Issue with Legacy MelonPrefs logging "Legacy Config Saved!" even when nothing happened.
- Fixed Issue with DEV Load Mode not working with ZIP Archives.
- Added Check to MelonHandler to make sure Plugins and Mods only load once from 1 DLL copy.
- Legacy MelonPrefs now properly redirect to MelonPreferences.
- Added MelonUtils.IsOldMono.
- Fixed Issue with MelonPreferences creating a new entry when one already exists.
- Added Auto-Converter to convert MelonPrefs to MelonPreferences.
- Fixed Issue with Auto-Converter deleting modprefs.ini but not saving MelonPreferences.cfg.
- Fixed Issue with Console Output not Flushing.
- Fixed Issue with Log Output not Flushing.
- Fixed Crash Issue with Fresh Install Assembly Generation.
- Support Module now uses MelonUtils.GetUnityVersion properly.
- Fixed Hooking Issue with Harmony Attributes.
- Fixed Issue with Reflection based Assembly Resolving.
- Moved Plugins and Mods folders back to the Game Installation folder.
- Fixed ConsoleOnTop Focusing Issues.
- Added More HostNames to Analytics Blocker.
- Fixed Issue with Legacy MelonPrefs Support when GetString or SetString was called.
- Added "MonoBleedingEdge.x86" and "MonoBleedingEdge.x64" to the Mono Directory Search.
- Fixed Issue with certain Mono Games causing the Mono Directory Search to fail.
- Disabled Close Button on Console during Assembly Generation.
- Console will now properly appear for Assembly Generation only on Il2Cpp Games when using Launch Option "--melonloader.hideconsole".
- Fixed Issue with Launch Option "--melonloader.hideconsole" causing a Crash.
- Fixed Execution Order of Console Initialization when using Launch Option "--melonloader.hideconsole".
- Fixed Issue with Il2CppDumper and Il2CppAssemblyUnhollower hanging when Games are closed during Assembly Generation.
- Launch Option "--melonloader.dab" no longer requires "--melonloader.debug".
- Fixed Visual C++ Error that occurs when closing certain Games by closing the Console (for example: Audica).
- Fixed Issue with Launch Option "--melonloader.hideconsole" ignoring "--melonloader.debug".
- Fixed Console Coloring Issue.
- Added MelonDebug.Msg.
- Fixed Issue with MelonLoader Unity Debug Log not running when Plugins are loaded.
- Fixed Issue with VRChat_OnUiManagerInit not getting called.
- MelonLoader Unity Debug Log is now default even when no Plugins or Mods are loaded.
- Fixed Issue with No Attribute showing as Universal.
- Implemented Fallback Game Compatibility for Melons when no app.info is found.
- Added Internal Failure when failing to get Unity Version.
- Implemented globalgamemanagers as Fallback for Unity Version.
- Added Try Catch to Support Module Loading.
- Fixed Issue with Unity Version Fallback not Triggering.
- Fixed Issue with Exceptions not including StackTrace.
- Fixed Issue with certain Mono Games not having the FileVersionInfo class.
- Added Value Change Callbacks to MelonPreferences Entries.
- Cleaned up MelonPreferences Entry Exception Handling.
- Fixed Issue with Launch Option "--melonloader.dab" that caused it to only Log when "--melonloader.debug" was used.
- Fixed Issue with Bootstrap Game Warnings not Logging.
- Fixed Issue with Il2Cpp Support Module failing to Parse Unity Version.
- Fixed Issue with Il2Cpp Support Module failing to load "Assembly-CSharp.dll" on VRChat.
- Added Legacy Style Methods to MelonPreferences.
- Fixed Issue with the GetString and SetString methods for ModPrefs and MelonPrefs Legacy Support.
- Fixed Logger Flushing.
- Redirected 0Harmony.dll References to MelonLoader.dll.
- Added Current Culture Fix to ensure Culture is always Invariant.
- Fixed Issue with Product Names and Versions not using Translation Query.
- Fixed Issue with Debug Compilation.
- Added SHA512 Check to Installer Updates.
- Added SHA512 Check to Installer Downloads.
- Fixed Issue when using the Installer to install v0.2.
- Fixed Issue with Releases Selection in Installer not being properly Sorted.
- Added Shortcut Support to Installer.
- Added HarmonyShield Attribute.
- HarmonyShield now protects Methods and Assembly from being patched.
- Added HarmonyShield Protection to MelonLoader, SM_Il2Cpp, SM_Mono, SM_Mono.Pre-2017, and SM_Mono.Pre-5.
- Fixed Issue with Unneeded Return in Logger breaking Logs after Plugin Loading.
- Fixed Issue with Console Buffer.
- Fixed Issue with Console Coloring.
- Added MelonColor Attribute for Melons to set their Name Color.
- Fixed Issue with OnSceneWasLoaded not being called.
- Added string Parameter to OnSceneWasLoaded and OnSceneWasInitialized that gets passed the Scene's Name.
- Plugins and Mods now have their Names Colorized properly when Loading.
- Added HarmonyShield Support for Classes and Structs.
- Fixed Internal Failure with mono_free on Non-BleedingEdge Mono Games.
- Improved HashCode Implementation.
- Added HashCodes for Support Modules.
- Added File Change Detection for MelonPreferences.
- Fixed Issue with MelonPreferences not Updating after Load.
- Added MelonIncompatibleAssembliesAttribute to mark Plugins and Mods as Incompatible with each other. (Credits to YOWChap :D)
- Fixed Issue with 127.0.0.1 showing as a Unique Host Name.
- Fixed Issue with ValueEdited of MelonPreferences.
- Fixed Issue with ValueEdited not correctly saving to MelonPreferences when Save is called.
- Fixed Issue with ValueEdited not being set when Auto-Converter runs.
- Added UnityEngine.Il2CppImageConversionManager to Managed folder to help with Image Conversion on Il2Cpp Games.
- Added Better Exception Handling for MelonLoader Core Initialization.
- Added Error Log File Output to Installer.
- Added MelonPreferences Auto-Downgrade System to Installer.
- Added MelonUtils.ColorToANSI to convert ConsoleColor to ANSI String.
- Fixed Issue with ALPHA Setting in Installer not abiding by Selected Theme.
- Fixed Issue with MelonPreferences Auto-Downgrade System in Installer when clean installing.
- Fixed Issue with Assembly Generator not Logging Launch Arguments.
- Added LaunchOptions.ini to allow for Configuration of Launch Options without using the Command Line.
- Fixed Issue where Launch Option "--melonloader.hidewarnings" would not function correctly.
- Added OnPreferencesLoaded Override for Plugins and Mods.
- Fixed Issue where Plugins weren't given priority for OnApplicationStart.
- Fixed Issue where certain Games would be unable to have their Unity Version read.
- Temporarily removed the Force-Regenerate Launch Option.
- Added GameAssembly Hash Check Logs.
- Added double and long Support to MelonPreferences.
- Improved MelonPreferences Type Conversion when Loading.
- Improved Lambda Expression Usage in MelonPreferences.
- Improved MelonPreferences Type Conversion when Loading string, floats, ints, longs, and doubles.
- Improved MelonPreferences Change Callback Invoking.
- Fixed Issue where Bootstrap and Proxy would cause Crashes when compiled under Debug Compilation.
- Improved Core Initialization.
- Fixed Issue with MelonPreferences Caching on Load and not setting the cache as Hidden.
- Fixed Issue with Older Mono that doesn't need a Posix Helper Native Module.
- Fixed Issue with Logger not properly detecting the Calling Melon.
- Fixed Issue with Debug Logger not properly coloring Melons.
- MelonPreferences Type Handling is now Modular for easier extension.
- MelonPreferences now supports the Type byte.
- Fixed Issue with MelonPreferences Loading when there is an Unhandled Type in the Config File.
- Fixed Issue with MelonPreferences where Saving would Trigger the FileWatcher and cause a needless reload.
- Fixed Issue with MelonPreferences where the Config File wasn't creating itself on Initialization.
- Fixed Issue with MelonPreferences causing the Config File to ignore certain Preferences during Initialization.
- Fixed Issue with Compatibility Layer failing to resolve type for MelonLoader.UnhollowerSupport.
- Fixed Issue with Compatibility Layer failing to resolve MelonMod.InfoAttribute, MelonMod.GameAttributes, MelonPlugin.InfoAttribute, and MelonPlugin.GameAttributes.
- Fixed Issue with Mods on BONEWORKS having OnSceneWasLoaded and OnSceneWasInitialized called too early.
- Fixed Issue with Mods on BONEWORKS having OnSceneWasLoaded and OnSceneWasInitialized called for the Loading Screen.
- Added BONEWORKS_OnLoadingScreen Override for Mods and it runs when BONEWORKS shows the Loading Screen.
- Fixed Issue with MelonDebug.Msg causing Crash.
- Fixed Issue with MelonDebug.Msg not checking if Debug is Enabled.
- Added MelonUtils.GetCurrentGameAttribute that returns the Current Game's MelonGameAttribute.
- Added MelonGameAttribute.Universal, MelonGameAttribute.IsCompatible, and MelonGameAttribute.IsCompatibleBecauseUniversal.
- Fixed Issue with BONEWORKS_OnLoadingScreen not being called.
- Fixed Issue with Certain Melons having the wrong Default Color.
- Improved MelonPreferences Error Handling.
- Improved MelonPreferences Unsupported Type Handling.
- Added string[] and bool[] Support to MelonPreferences.
- Added int[] and float[] Support to MelonPreferences.
- Fixed Issue with MelonPreferences Value Type Conversion causing Conflicts in File.
- Added long[] Support to MelonPreferences.
- Added byte[] Support to MelonPreferences.
- Added Warning to Debug Mode for when Attempting to Harmony Patch Methods that may possibly be Inlined. (Credits to zeobviouslyfakeacc :3)
- Added a Built-In bHaptics API.
- Fixed Issue with MelonPreferences not setting properly while using Fallback Functionality.
- Fixed Issue with Melon Name not Showing for Inline Harmony Patch Detection Warning. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with Null Reference Exception from MelonLogger.ManualWarning. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with Null Reference Exception from Inline Harmony Patch Detection.
- Fixed Issue with MelonUtils.IsVRChat causing Null Reference Exception.
- Fixed Issue with MelonUtils.IsBONEWORKS causing Null Reference Exception.
- Fixed Issue with Native Unity Logs showing when not in Debug Mode.
- Fixed Issue with Certain Unity Games when the EXE has no Information Attached.
- Fixed Issue with Unity Games using a Version older than 5.0 not Loading Mods.
- Fixed Issue with Unity Games using a Version older than 5.0 having mainData instead of globalgamemanagers.
- Fixed Issue with Support Modules with Mono Games not having UnityEngine.Transform.SetAsLastSibling.
- Added Preload Support Module.
- Fixed Issue with Unity Games not having System.Core.dll.
- Added bHaptics.DeviceType.
- Added bHaptics.IsDeviceConnected.
- Added bHaptics.DeviceTypeToPositionType.
- Added bHaptics.DeviceType Methods.
- Fixed Issue with Support Modules throwing a Target Framework Exception.
- Fixed Internal Failure with Operating Systems older than Windows 10.
- Fixed Issue with C# 9 Record Types making Assemblies Unloadable. (Credits to knah :D)
- Added Melon Hashes to Logs. (Credits to TrevTV :P)
- Temporarily Disabled Analytics Blocker for x86 (32bit) to Fix Random Crash Issue.
- Fixed Issue with Console Coloring on Operating Systems older than Windows 10.
- Fixed Issue with app.info Does Not Exist Warning showing Twice.
- Re-Implemented Color Variations of MelonLogger.Msg.
- Fixed Issue with Melon Logging Traceback not finding certain Melons in the Call Stack.
- Added MDB Symbol Support. (Credits to avail :P)
- Added Deobfuscation Map Support.
- Added "--melonloader.agfregenerate" Launch Option.
- Re-factored Assembly Generator.
- Re-factored MelonPreferences.
- MelonPreferences Entries are now Extendable for Custom Type Support.
- Added MelonPriority Assembly Attribute.
- Fixed String Issue with MelonPreferences.
- Re-factored MelonColor Support.
- Fixed Issue with Legacy Settings failing to Load and breaking settings system completely. (Credits to knah :D)
- Fixed Issue suppress exceptions from Settings Save/Load. (Credits to knah :D)
- Rewrote settings classes to be much cleaner and easier to extend. (Credits to knah :D)
- Updated Il2CppAssemblyUnhollower to v0.4.13.0. (Credits to knah :D)
- Fixed Issue with Deobfuscation Map not Downloading if File does not Exist. (Credits to knah :D)
- Fixed Issue String Settings not loading from TOML. (Credits to knah :D)
- Fixed Issue Legacy Float Settings with Round Values not loading from INI. (Credits to knah :D)
- Rewrote TOML Array Handling. (Credits to knah :D)
- Fixed Issue with Virtual Terminal Processing on some systems.
- Fixed Issue with MelonPreferences having Category and Entry Display Names not be set to Identifier when null.
- Fixed Issue with MelonPreferences.CreateEntry not creating Category.
- Fixed Issue with MelonPreferences.CreateCategory causing an Exception when it wasn't supposed to.
- Fixed Issue with "Collection was modified" Error.
- Fixed No Melon Attribute Found Issue.
- Fixed Issue with Melon Override Exceptions not showing which Melon it was.
- Fixed Issue with Protobuf Assemblies being rejected. (Credits to knah :D)
- Fixed Issue with Assembly Generator's OverrideAppDomainBase Method under Mono. (Credits to MiincK :D)
- Changed MelonBase.Color to MelonBase.ConsoleColor.
- Fixed Enumerator Issue with Index Loop Locking.
- Fixed Issue with Duplicate Melons causing the rest of the Melons to Not Load.
- Added MonoBleedingEdge Metadata.
- Re-factored Assembly Generator run with Mono instead of CLR. (Credits to MiincK :D)
- Fixed NRE Issue with Audica and similar games. (Credits to MiincK :D)
- Fixed log file name time format. (Credits to MiincK :D)
- Fixed NRE Issue with Newer Games after Audica. (Credits to MiincK :D)
- Changed Mono Configuration Directory on Il2Cpp Games to the Included Metadata. (Credits to MiincK :D)
- Fixed Issue with Assembly Generator getting the Incorrect Configuration Directory. (Credits to MiincK :D)
- Fixed Issue with Assembly Generator when Deobfuscation Map already exists. (Credits to knah :D)
v0.2.7.4:
- Fixed Issue with Amplitude using new Endpoints.
v0.2.7.3:
- Updated Il2CppAssemblyUnhollower to v0.4.10.0.
- Il2CppDumper and Il2CppAssemblyUnhollower executables will now display their command lines in the log files. (Credits to stephenc87 :D)
v0.2.7.2:
- Fixed Small Issue with VRChat_OnUiManagerInit.
v0.2.7.1:
- Use a different approach to console cleaning for better interop with other tools. (Credits to knah :D)
v0.2.7:
- Console no longer has stdout directed to it. (Credits to knah :D)
- Removed VRChat Auth Token Hider as it's no longer necessary. (Credits to knah :D)
- Added Try Catch to DisableAnalytics Hooks.
- Updated Il2CppAssemblyUnhollower and Il2CppDumper Versions. (Credits to knah :D)
- Implemented potentially dead method detection. (Credits to knah :D)
- Exposed new Console Output Handle and assign it to Managed Console Class Output. (Credits to knah :D)
- Added Unity 2019.4.3 Dependencies.
- Bumped Il2CppAssemblyUnhollower Version.
v0.2.6:
- Fixed Issue with Logger Timestamp making New Lines.
- Added Silent Launch Option to Installer. (Credits to TrevTV :P)
- Fixed Internal Failure caused by DisableAnalytics for certain users.
- Added Operating System log to startup info.
- Added ValueTupleBridge to Managed Folder.
- Added Unified Attributes for both Plugins and Mods.
- Added Legacy Attribute Support.
- Fixed Logger Issue with new Unified Attributes.
- Deprecated MelonModLogger, use MelonLogger instead.
- Deprecated ModPrefs, use MelonPrefs instead.
- Added HarmonyInstance Method for easier Unpatching of Mods and Plugins.
- Create MelonLoaderComponent after first scene load in Mono Games. (Credits to knah :D)
- Removed Launch Option --melonloader.devpluginsonly.
- Removed Launch Option --melonloader.devmodsonly.
- Added Launch Option --melonloader.loadmodeplugins.
- Added Launch Option --melonloader.loadmodemods.
- Fixed Issue with Debug Mode causing Crashes for Some Games.
- Fixed Issue with Manual Zip overriding Latest Version.
- Fixed Issue where Manual Zip would get set as Default Selection.
- Unity Analytics now redirected to localhost, rather than throwing null and exceptions. (Credits to Emilia :3)
- Plugins are now able to use OnUpdate.
- Plugins are now able to use OnLateUpdate.
- Plugins are now able to use OnGUI.
- Added GetUnityTlsInterface to Imports.
- Implemented Native Sided SSL/TLS/HTTPS Fix.
- Fixed Issue with Support Modules not loading due to Missing Method errors.
- Fixed Issue with attaching dnSpy on Il2Cpp Games.
- Replaced mono-2.0-bdwgc.dll with dnSpy Debug dll.
- Debug Mode will now use LoadFrom instead of Load for breakpoint compatibility.
- Fixed Crash Issue with DisableAnalytics.
- Revised Console Logger Callbacks.
- Fixed Issue with LogMelonError not running Callbacks.
- Deprecated MelonLoader.Main use MelonLoaderBase or MelonHandler instead.
- Revised Base Melon Handling.
- Revised IniFile.
- Fixed Issue with Plugins not getting OnUpdate called.
- Fixed Issue with Plugins not getting OnLateUpdate called.
- Fixed Issue with Plugins not getting OnGUI called.
- Plugins are now able to use VRChat_OnUiManagerInit.
- Fixed Coroutine Queue for Mono Games.
- Added Launch Option --melonloader.consoleontop. (Credits to TrevTV :P)
- Fixed Issue with Assembly Generator not stopping when failing to Download.
- Escalated Assembly Generator failures to Internal Failures.
- Fixed Issue where Assembly Generator failures would cause a Crash.
- Fixed Crash Issue with Unity TLS Fix for some Games.
- Fixed Issue with Assembly Generator not working for some Users.
- Fixed Crash Issue with DisableAnalytics for some Games.
- Fixed Missing NULL Check in DisableAnalytics. (Credits to Sinai :D)
- Added Try Catch to Assembly Generator Execution. (Credits to Samboy :D)
v0.2.5:
- Fixed Issue that prevented deserializing structs with TinyJSON. (Credits to zeobviouslyfakeacc :3)
- Simplified External Tool Versions.
- Updated Il2CppDumper to 6.3.3.
- Added Unity 2019.3.15 Dependencies.
- Fixed Issue with some Games causing DisableAnalytics to have an Internal Failure.
- Fixed File Descriptions.
- Added Icon to AssemblyGenerator.exe.
- Temporarily Removed the ModSettingsMenu.
- Temporarily Removed RenderHelper from Support Modules.
- Fixed Issue with some Games causing DisableAnalytics to have an Internal Failure.
- Fixed Issue with using Application.unityVersion on some Unity versions.
- Fixed Issue with using SetAsLastSibling on some Unity versions.
- Fixed Issue with Release Compilation still saving Debug files to the Output Directory.
- Added UnityEngine.Il2CppAssetBundleManager to Managed folder to help with Asset Bundle Manipulation on Il2Cpp Games.
- Installer now properly displays UPDATE instead of INSTALL when updating to a newer version.
- Added Auto-Update System to Installer.
- Installer Version Check now Parses the Project File directly.
- Added Installer Check for Manual Zip (MelonLoader.zip) next to the Installer exe.
- Added UN-INSTALL button to Installer.
- Added Auth Token Hider for VRChat.
- Added Console Cleaner for Normal Console
- Console Cleaner now uses a Harmony Patch instead of unsafe hooking.
- Improved Unhollower Logging Support.
- Added Console Log Callbacks to MelonLoader.Console.
- Installer now runs Update Check on Main Thread.
- Improved Logger System.
- Fixed Issue with Installer where installing from Manual Zip would cause it to download Latest Version.
- Temporarily Removed Console Cleaner.
v0.2.4:
- Added Error Output Log to Installer. (Credits to TrevTV :P)
- Use List.Count / Array.Length property instead of Linq's Count() method. (Credits to zeobviouslyfakeacc :3)
- Added mechanism to catch when game is open to display additional information. (Credits to DubyaDude ^.^)
- Harmony: Remove prefixes after postfixes to fix unpatching patches with __state variables. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with certain Games not having a File Version attached to the EXE.
- Fixed Small Issue with Thief Simulator.
- Added MetroUI, Fody, and new revised Dark Theme to Installer. (Credits to DubyaDude ^.^)
- UnityCrashHandler now terminates upon running with MelonLoader.
- Added Analytics Disabler.
- Added Oculus and Facebook Tracking URLs to Analytics Disabler.
- Added Fallback System for downloading Unity Dependencies needed for Unstripping.
- Moved LightJson under its own Namespace as MelonLoader.LightJson.
- Installer now correctly displays Download Percentage. (Credits to charlesdeepk :D)
- Installer now correctly displays Percentage of Zip Extraction.
v0.2.3:
- Added Unity 2019.3.4 Dependencies.
- Temporarily Fixed Issue with TLS Fix on Certain Il2Cpp Unity Games.
- Added Launch Option "--melonloader.agfvunhollower" that Forces the Assembly Generator to use a Specified Version of Il2CppAssemblyUnhollower.
- Added Location property to the MelonMod class.
- Revised Plugin System.
- Fixed Issue causing the Assembly Generator to constantly Regenerate every time a Game Launched.
- Installer now creates the Plugins folder.
- Revised MelonMod class to use a new MelonBase.
- All Commonly used Methods and Properties that both MelonMod and MelonPlugin use have been moved to MelonBase.
- Plugins now use their own Attributes.
- Fixed Issue that let Plugins load as Mods when placed in the Mods folder and vice-versa.
- Added better Legacy Version handling for "--melonloader.agfvunhollower".
- Added Clearer Display Text to State that DLL Status is Game Compatibility.
- Also call Harmony patches if IL2CPP methods get called using reflection / il2cpp_runtime_invoke. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with Harmony Patches on Virtual Methods. (Credits to zeobviouslyfakeacc :3)
- Improved the Harmony error message if the unhollowed target method is not backed by an IL2CPP method. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with Harmony AccessTools not being able to resolve the no-args constructor if a static constructor exists. (Credits to zeobviouslyfakeacc :3)
- Added Support for Mono Debuggers.
- Mono JIT Domain on Il2Cpp Games should now parse Command Line arguments properly.
- Forced Installer to reinstall the entire MelonLoader folder.
- Moved all Console and Log Functionality to Native Exports.
- Updated Il2CppDumper to v6.3.0.
- Updated Il2CppDumper Config Fix in the Assembly Generator to support Il2CppDumper v6.3.0.
- Added Temp File Cache to Assembly Generator.
- Re-enabled Launch Option "--melonloader.devpluginsonly".
- Fixed Issue with Certain Mono Games not having OnApplicationStart called.
- Added Unity 2018.4.2 Dependencies.
- Fixed Debug Compilation Issue with Console.
- Added Launch Option "--melonloader.hidewarnings" that will Hide Warnings from Displaying in Normal Console. (Debug Console ignores this Launch Option.)
- Fixed Issue with Support Modules not Unloading their Components properly when OnApplicationQuit is called.
- Fixed Mistake with Error Catching Console Creation.
- Log Spam Shield will now Disable itself when MelonLoader is using Debug Mode/Console.
- Log Spam Shield has now been moved to the Native Logger.
- Added Launch Option "--melonloader.maxwarnings" for Setting the Max Amount of Warnings for the Log Spam Shield. (Debug Console ignores this Launch Option, Default is 100, 0 to Disable.)
- Added Launch Option "--melonloader.maxerrors" for Setting the Max Amount of Errors for the Log Spam Shield. (Debug Console ignores this Launch Option, Default is 100, 0 to Disable.)
- Fixed Memory Leak in Log Spam Shield.
- Fixed Issue with Exports.
- Moved DLL Status to its own Enum.
- Added "Compatibility" property to MelonBase.
- Removed "IsUniversal" property from MelonBase.
- Fixed Issue with Incompatible Plugins and Mods still being used after Logging.
- Added Unity 2018.4.23 Dependencies.
- Fixed Issue with Console.h / Console::IsInitialized().
- Added Tomlyn to ModHandler for TOML Parsing.
- Moved Tomlyn to its own Namespace under MelonLoader.Tomlyn.
- Added Unity 2018.3.14 Dependencies.
- Added Unity 2019.2.16 Dependencies.
- Added Tomlyn to Assembly Generator for TOML Parsing.
- Cleaned up Config Handling in Assembly Generator.
- Fixed Issue with Corrupt Tomlyn Lib.
- Added Dependency Graph System for Plugins and Mods. (Credits to zeobviouslyfakeacc :3)
- Fixed Issue with Plugins still calling OnPreInitialization even when Incompatible. (Credits to zeobviouslyfakeacc :3)
- Added Better Plugin and Mod Cleanup when OnPreInitialization or OnApplicationStart fails. (Credits to zeobviouslyfakeacc :3)
- Switched Assembly Generator Config from JSON to TOML.
- Assembly Generator Config will now be saved to a file named "config.cfg" instead of "config.json".
- Fixed Issue with Tomlyn in the ModHandler.
- Added Unity 2020.1.0 Dependencies.
- Added Temporary Warning for Missing Dependencies. (Credits to zeobviouslyfakeacc :3)
- Added MelonOptionalDependencies Attribute. (Credits to zeobviouslyfakeacc :3)
- Fixed compilation issues on .NET Framework 3.5. (Credits to zeobviouslyfakeacc :3)
- Implemented 'Populate' methods to TinyJSON to de-serialize JSON into an existing object. (Credits to zeobviouslyfakeacc :3)
- Reimplemented TinyJSON in AssemblyGenerator to be up to date with the one in the ModHandler.
- Static Linked Runtime Library to Reduce User Issues with Microsoft Visual C++ 2015-2019 Re-distributable. (Credits to knah :D)
- Updated Il2CppAssemblyUnhollower Download to v0.4.8. (Credits to knah :D)
- Fixed Issue with the RenderHelper of ModSettingsMenu causing Error when SupportModule Unloads their Component.
- SupportModules now properly Unloads their Component if no Plugins or Mods are loaded.
- Temporarily Disabled ModSettingsMenu.
- Added Launch Option "--melonloader.chromium" to turn the Console Color Magenta. (Thanks Chromium lol)
- Fixed Issue with Logger methods with Color Parameter being Overridden by RainbowMode or ChromiumMode.
- Added Unity 2019.3.5 Dependencies.
- Added Unity 5.6.7 Dependencies.
- Added Unity 5.6.3 Dependencies.
- Changed Launch Option "--melonloader.chromium" to "--melonloader.magenta".
v0.2.2:
- Downgraded Installer to .NET Framework 4.7.2. (Credits to knah :D)
- Added Error Messages to Installer. (Credits to knah :D)
- Added Proper Threading to Installer. (Credits to knah :D)
- Installer now creates a Mods folder if none exists.
- Fixed Installer Form Size.
- Fixed Issue with Label in Installer Form not Auto-Centering.
- Fixed Build Information for Installer.
- Moved Plugins to its own separate Plugins folder.
- Installer now creates a Plugins folder if none exists.
- Installer now properly installs the Latest Version instead of a Predetermined Version.
- Fixed and Re-Enabled --melonloader.hideconsole.
- Added Log to Unity Debug to Signify to Developers that a Game has been Modded.
- Fixed SSL/TLS issue with the Assembly Generator. (Credits to zeobviouslyfakeacc :3)
- Fixed Crash Issue with Harmony when Patching Methods Multiple Times or when a Method happens to be null. (Credits to zeobviouslyfakeacc :3)
- Made the Loaded Mods List public.
- Fix ModPrefs.SaveConfig() overriding previous SetString/Bool/etc calls. (Credits to knah :D)
- Fixed SSL/TLS Issue with the Installer.
- Fixed Issue with Games that don't have Assembly-CSharp.
- Added a check and a warning for if the OS is older than Windows 7.
- Updated Il2CppAssemblyUnhollower Download to v0.4.4. (Credits to knah :D)
- Cleaned up version.dll.
- version.dll Proxy will now look for version_original.dll next to the EXE before loading from System32.
- Small change to version.dll to Prevent Crashing when MelonLoader.dll fails to load.
- Revised Loading System to work without needing Signatures.
- Reorganized Installation Folder Structure.
- Fixed Issue with Signature-less System on Pre-2017 Unity Versions.
- Fixed Issue with Support Modules not loading on Unity Versions older than 5.3.
- Fixed Issue Loading Mono Module.
- Fixed Issue with OnApplicationStart getting called even when the Assembly Generator fails.
- Switched Assembly Generator to Process Based Execution.
- Fixed Mistake with Assembly Generator not returning false when Execution fails.
- Fixed Directory Issue with Assembly Generator.
- Updated Il2CppAssemblyUnhollower Download to v0.4.5.
- Added new Launch Option --melonloader.devmodsonly.
- Added Unity 2018.4.16 Dependencies.
- Plugins now only call OnPreInitialization, OnApplicationStart, OnApplicationQuit, and OnModSettingsApplied.
- Revised Installer Design.
- Fixed Issue with Plugin Loading.
- Fixed OnLevelWasLoaded and OnLevelWasInitialized on Unity Versions lower than 5.3.
- Fixed GetActiveSceneIndex for Pre2017.2 Support Module.
- Re-added TinyJSON to ModHandler.
- Moved TinyJSON to its own Namespace.
- Fixed SupportModule Issue with Pre-2017 Unity Games.
- Added Force-Regeneration to Assembly Generator.
- Added Launch Option --melonloader.agregenerate.
- Added Support for Mods to Harmony Patch using Harmony Attributes.
- Fixed Issue with Assembly Generator losing output lines. (Credits to knah :D)
- Fixed Issue with Assembly Generator failing on paths with spaces. (Credits to knah :D)
- Fixed SSL/TLS issues in Mods for Il2Cpp games. (Credits to knah :D)
- Updated Il2CppAssemblyUnhollower Download to v0.4.6. (Credits to knah :D)
- Improved String Support for Harmony in Il2Cpp Games. (Credits to zeobviouslyfakeacc :3)
- Added Harmony Support for null Il2Cpp Argument Values. (Credits to zeobviouslyfakeacc :3)
- Added Harmony Support for ref Types in Il2Cpp Games. (Credits to zeobviouslyfakeacc :3)
- Fixed Crash Issue when Exception is thrown from C# Code. (Credits to zeobviouslyfakeacc :3)
- Updated Method Targeting in Il2Cpp Games. (Credits to zeobviouslyfakeacc :3)
- Installer now Downloads and Installs Required VC Redist.
- Fixed Invalid Handle Issue with Console Coloring.
- Added Embedded SharpZipLib to ModHandler.
- Fixed Zipped Mod Support.
- Moved SharpZipLib in ModHandler to its own Namespace.
- Fixed Issue with Zipped Mod Support when using --melonloader.devmodsonly.
- Added Launch Option --melonloader.devpluginsonly.
- Updated Il2CppAssemblyUnhollower Download to v0.4.7. (Credits to knah :D)
- Launch Option --melonloader.quitfix has been changed to --quitfix.
- Temporarily Disabled Plugins.
- Temporarily Disabled Launch Option --melonloader.devpluginsonly.
- Added Unity 2018.1.9 Dependencies.
- Added Unity 2019.2.17 Dependencies.
- Added Unity 2019.2.21 Dependencies.
- Regenerated Unity Dependencies Zips.
- Fixed Issue with --melonloader.devmodsonly.
- Disabled VC Redist Installation in Installer.
- Fixed Issue with Installer not running as Administrator.
- Fixed Installer UAC Issue.
v0.2.1:
- Overwrite files when copying freshly generated assemblies. (Credits to knah :D)
- Implemented auto-download of required tools for Il2Cpp games. (Credits to knah :D)
- Fixed Config Issue causing Assembly to always need to Regenerate.
- Added an Installer.
- Fixed Console Display Issue.
- Temporarily disabled --melonloader.hideconsole.
v0.2.0:
- Fixed Issue with the Console still showing as Closed-Beta.
- Fixed Issue with not having MelonLoader.ModHandler.3.5.dll included in the Release zip.
- Fixed support for 2018.4.11f1 and Ori and the Will of the Wisps. (Credits to Hector ^.^)
- Added 2018.4.11f1 Unity Dependencies. (Credits to Hector ^.^)
- Removed Unity Dependencies from Release Build. (No Longer Needed)
- Fixed Issue with MelonCoroutines not allowing a yield of Coroutine within a Coroutine. (Credits to Slaynash :3)
- Revised README.MD.
- Changed the Hook and Unhook Internal Calls in MelonLoader.Imports from internal to public to expose them and allow them to be used by Mods.
- Revised CHANGELOG.MD.
- Added Built-In QuitFix under the Launch Option --melonloader.quitfix (For Games like VRChat where the Process Hangs after telling it to Exit)
- Added Stop Methods to MelonCoroutines. (Credits to Slaynash :3)
- Fixed Error Handling in MelonCoroutines. (Credits to Slaynash :3)
- Fixed Issue with MelonCoroutines when using Non-Yielding Coroutines. (Credits to Slaynash :3)
- Added Support for Method Unstripping through Il2CppAssemblyUnhollower to MelonLoader.AssemblyGenerator.
- Replaced the Doorstop winmm.dll with version.dll.
- Fixed Compatibility with Il2Cpp Games for 0Harmony in MelonLoader.ModHandler. (Credits to zeobviouslyfakeacc :D)
- Fixed Issue with 0Harmony not Unpatching Methods when Unloading.
- Fixed Incompatibility Issue between 0Harmony in MelonLoader.ModHandler and Mono Game Support.
- Added Event Fix for knah's Unhollower Logging.
- Fixed Null Reference Exception Error when using MethodInfo of Generated Assembly Methods for 0Harmony.
- Removed NET_SDK.
- Added Custom Component System for the ModHandler.
- Added Preload Support for Mods to Load before the Game Initializes.
- Added OnPreInitialization for Mods that Preload.
- Split support for Mono and Il2Cpp into their own Support Modules. (Credits to knah :D)
- Fixed Issue with OnSceneLoad in Il2Cpp Support Module. (Credits to knah :D)
- Split MelonCoroutines to integrate Support Module support. (Credits to knah :D)
- Fixed Issues with needing the ModHandler compiled under a certain .NET Framework. (Credits to knah :D)
- Fixed Issue with OnGUI.
- Fixed Compatibility Issues with SCP Unity.
- Fixed Issue with version.dll causing UnityCrashHandler to crash.
- Fixed Compatibility Issues with Hot Dogs, Horseshoes & Hand Grenades.
- Added Pre 2017 Mono Support Module.
- Made Normal Console Open by Default.
- Removed Launch Option "--melonloader.console".
- Added Launch Option "--melonloader.hideconsole" to Hide the Normal Console.
- Cleaned up Il2Cpp Imports.
- Cleaned up Mono Imports.
- Revised Command Line Parsing.
- Fixed Issue with the Log Cleaner deleting Logs that were not made by MelonLoader.
- Added Launch Option --melonloader.maxlogs. Sets the Max Logs for the Log Cleaner. Set as 0 to Disable the Log Cleaner.
- Added Global Exception Handler to the Mono Domain.
- Added Assembly Generation Integration.
- Fixed Illegal Characters in Path Error.
- Temporarily Disabled Zipped Mod Support.
- Added Log Error Limiter.
- Re-Enabled Download Links in Mod Logs.
- Fixed Issue with TestMod not loading on Mono Games.
v0.1.0:
- Moved Exports in MelonLoader.ModHandler to Mono Internal Calls.
- Cleaned up Hooking for MelonLoader Internals.
- Added a new cleaner and faster Internal Call Resolver for an Assembly Generator Test.
- Added 2018.4.19f1 Unity Dependencies.
- Added additional check for MelonLoader.ModHandler needing to be built with .NET 3.5.
- Added 2018.4.20f1 Unity Dependencies.
- Changed lists to arrays for caching classes, fields, methods, events, and etc. (Credits to Kronik ^.^)
- Changed foreach to statements to for statements for faster iteration. (Credits to Kronik ^.^)
- Made certain fields "readonly" (Name, Flags, etc) as it won't be reassigned. (Credits to Kronik ^.^)
- Made SDK and Imports class static. (Credits to Kronik ^.^)
- Cleaned up MelonLoader.ModHandler to use less Linq when possible for improved performance. (Credits to Kronik ^.^)
- Added CreateInstance method to Il2Cpp_Class in NET_SDK.Reflection. (Credits to Kronik ^.^)
- Fixed SystemTypeToIl2CppClass in NET_SDK.Il2Cpp.
- Cleaned up TestMod.
- Added VRChat_OnUiManagerInit for VRChat Mods.
- Made MelonModGameAttribute work as intended and MelonLoader.ModHandler will now only load Mods marked as Compatible or Universal.
- Temporarily removed the Guid attribute from the AssemblyInfo of both TestMod and MelonLoader.ModHandler.
- MelonMod now properly caches their respective MelonModInfoAttribute and MelonModGameAttribute.
- Fixed PointerUtils::FindAllPattern.
- OnLevelWasLoaded, OnLevelWasInitialized, OnUpdate, OnFixedUpdate, OnLateUpdate, and OnGUI have been fixed and now function properly.
- Cleaned up LoadLibraryW Hook.
- Cleaned up and Renamed Exports in MelonLoader.ModHandler.
- Added a HookManager system.
- Cleaned up and Combined all Internal Hooking into HookManager.cpp and HookManager.h improving compile time.
- Cleaned up and removed unused or otherwise unneeded includes improving compile time.
- Used regions to further clean up and organize HookManager.cpp.
- Added Status Log for when detecting if a Mod is Universal, Compatible, or Incompatible.
- Cleaned up the Mod Loading functionality of MelonLoader.ModHandler.
- Fixed Issue with the Compatibility Check when using multiple MelonModGameAttribute.
- Fixed Issue with OnLevelWasLoaded and OnLevelWasInitialized getting the wrong Scene Index and only running once then never again.
- Upgraded MelonLoader.ModHandler and TestMod to .NET v4.7.2. (As requested by Emilia :D)
- Made MelonModController use directly invokable delegates for faster invoking. (Credits to Kronik ^.^)
- Removed Unneeded Caching of MethodInfo in MelonModController.
- Added mono-2.0-boehm.dll to Mono Check.
- Added --melonloader.rainbow and --melonloader.randomrainbow as Launch Options. (As requested by Hordini :3)
- Redesigned the Logging system to be unified between MelonLoader and MelonLoader.ModHandler.
- Colorized Errors in both Consoles.
- Added the ability for Mods to set a Color when Logging.
- Fixed Issue with --melonloader.rainbow and --melonloader.randomrainbow not working when using --melonloader.console.
- Added Unload Functionality. Entirely unloads MelonLoader. (MelonLoader::UNLOAD() or MelonLoader.Imports.UNLOAD_MELONLOADER())
- Fixed Issue with using 1 or 0 for a boolean in ModPrefs.
- Fixed Issue with OnUpdate, OnFixedUpdate, and OnLateUpdate invoking too early.
- Fixed Issue with Unload Functionality not closing either Consoles.
- Added MelonCoroutines to handle Coroutine functionality for Mods on both Il2Cpp and Mono. (Credits to knah :D)
- Fixed Issue with Logger removing Old Logs when it shouldn't.
- Fixed Issue with OnLevelWasLoaded, OnLevelWasInitialized, and VRChat_OnUiManagerInit when using knah's UnHollower.
- Fixed Execution Order of OnApplicationStart to run before any of the other Mod Methods.
- Added Assertion Manager to handle MelonLoader Internals.
- Fixed Issue with MelonCoroutines throwing a Cast Exception for knah's UnHollower.
- Added Support for WaitForFixedUpdate and WaitForEndOfFrame to MelonCoroutines.
- Fixed Issue with MelonCoroutines throwing a Missing Method Exception for knah's UnHollower.
- Added 2019.3.6f1 Unity Dependencies.
- Fixed Internal Failure issues with RotMG Exalt and Unity 2019.3.6f1.
- Fixed Internal Failure issues with Pistol Whip and Unity 2019.2.0f1.
- Fixed Issue with MelonLoader.ModHandler complaining about Mod Libraries.
- Fixed Issue with MelonCoroutines processing a yield of null as the same as WaitForFixedUpdate.
- Made MelonMod use directly invokable virtuals and overrides for faster invoking. (As requested by knah :3)
- Removed MelonModController from MelonLoader.ModHandler.
- Made MelonLoader.ModHandler look for the MelonMod subclass in the Mod's MelonModInfoAttribute instead of searching the entire Assembly. (As requested by knah :3)
- Fixed Issue with Logger Imports in MelonLoader.ModHandler being passed garbage strings.
v0.0.3:
- General Stability and Optimization Improvements.
- Added Support for Mono based Games.
- Added MUPOT Mode which forces Il2Cpp games to run under Mono. This Mode is still extremely Experimental.
- Logger has been renamed to MelonModLogger to prevent conflict with UnityEngine.Logger.
- Fixed Crash issue when using System.Type in MUPOT Mode.
- MelonModInfo Attribute has been changed to an Assembly Attribute.
- Fixed Issue with MelonModLogger not getting the Mod Name when used outside of the main class.
- FileInfo in the TestMod has been renamed to BuildInfo so it won't conflict with the System.IO.FileInfo class.
- Added 0Harmony Integration and Support.
- Modified MelonLoader.ModHandler to use a Component based system in MUPOT Mode and Mono based games.
- Fixed Issue preventing OnUpdate from being called in MUPOT Mode and Mono based games.
- Fixed Issue preventing OnApplicationQuit from being called in MUPOT Mode and Mono based games.
- Fixed Conflict issue triggering Unity's Single Instance function in MUPOT Mode.
- Added OnLevelWasLoaded, OnLevelWasInitialized, OnUpdate, OnFixedUpdate, OnLateUpdate, and OnGUI for Mods in MUPOT Mode and Mono based games.
- Bug that prevented Debug Compilation is now fixed.
- Fixed Issue that caused Unity Crash Handler to initialize MelonLoader twice.
- Fixed Runtime Initialization issue with Audica that caused crashes.
- Fixed Execution Order of MelonLoader.ModHandler.
- Fixed Issue with Mono Game Support due to Mono DLL naming.
- Fixed Issue with Internal Calls through MUPOT Mode.
- Added better Mod Exception Handling and Logging.
- Added Dependencies for Unity 2019.1.0b1.
- Added Dependencies for Unity 2017.4.28f1.
- Added Dependencies for Unity 2018.4.13f1.
- Added Dependencies for Unity 2018.1.6f1.
- Added Dependencies for Unity 2019.2.0f1.
- Fixed Incompatibility issue with Unity Dependencies between x86 and x64.
- Added Log in MelonLoader.ModHandler for Unity Version.
- General Code Cleanup.
- Fixed OnApplicationQuit not working without MUPOT Mode.
- Fixed Mono Game Support for games that don't use MonoBleedingEdge. (MelonLoader.ModHandler and Mods must be compiled with .NET 3.5 Framework)
- Fixed Execution Order when using MUPOT Mode.
v0.0.2:
- Added NET_SDK to be built into MelonLoader.ModHandler as the designated Il2Cpp Wrapper.
- Fixed Issue with Mods and Logs folders not being in the correct place next to the game's exe.
- Fixed Issue with the ModPrefs not calling the OnModSettingsApplied method of Mods.
- Replaced old ModPrefs debug log message left in from my VRChat mod.
- Fixed Issue with Audica crashing when trying to use MelonLoader.
- Added Unity 2018.4.6f1 Dependencies.
- Fixed bug with Launch Options.
- Fixed Pathing issue that caused games like Boneworks to crash.
- Fixed Issue where Environment.CurrentDirectory wasn't being set properly.
- Clean-up and Additions made to NET_SDK. (Thanks Sc4ad :D)
- Added SteamVR and OculusVR Dependency DLLs to MelonLoader/Managed.
- Added TestMod to Project Files.
- Added Attribute StackTrace System to Logger. (As requested by Camobiwon :3)
- Replaced Spaces in Names for the Attribute StackTrace System with Underscores.
- Fixed the bug that caused the Logger from MelonLoader.ModHandler to not properly output when using the Debug Console.
- Added SystemTypeToIl2CppClass method to NET_SDK.Il2Cpp.
- Crash Issue with Game.DontDestroyOnLoad has been fixed and it now works.
- Fixed Il2Cpp_Field where SetValue does not function on a instance object. (Thanks DubyaDude ^.^)
- Fixed Compile Version conflict with the 2 Consoles.
MelonLoader [DEBUG] & MelonLoader.ModHandler [RELEASE] = Debug Console
MelonLoader [RELEASE] & MelonLoader.ModHandler [DEBUG] = Normal Console
MelonLoader [DEBUG] & MelonLoader.ModHandler [DEBUG] = Debug Console
MelonLoader [RELEASE] & MelonLoader.ModHandler [RELEASE] = Left up to the Launch Options
v0.0.1:
- Initial Commit and Rewrite.