Releases: aldelaro5/UnityExplorer
Version 5.0.2
This is a minor release that updates my mcs fork which makes it easier for projects like RuntimeUnityEditor to use it separately from UnityExplorer. One of these changes moves a compiler visibility bypass to mcs away from UnityExplorer, hence the need for this minor release.
Other than that, the mono releases no longer comes with MonoMod.Backports as the only backporting logic needed was for Tuples on mcs. Thanks to @ManlyMarco for the PR that did that on mcs.
Version 5.0.1
This is a bugfix release that fixes an issue where SQLitePCLRaw libraries couldn't be found
Version 5.0.0
This is the first release of my new UnityExplorer fork. It is the successor of my previous attempt at forking the project which was based on the original repository. I wasn't happy with its structure and I thought I could restart from scratch on a new base being this fork: https://github.com/yukieiji/UnityExplorer which features many stability improvements on top of the vanilla version (notable, il2cpp works).
This release includes everything my original fork had, but A LOT more. The most notable addition is Roslyn support which is a MUCH better script compiler backend than mcs (it's actually the modern C# compiler Microsoft uses!): https://github.com/dotnet/roslyn. The main catch is it only works on MonoBleedingEdge games due to Roslyn not supporting net35 that older Mono needs (and adding support is way too difficult). You can verify which kind of Mono your game has by checking in its root folder where its executable is located: if you see a "Mono" folder, it's not compatible and if you see a "MonoBleedingEdge" folder, it's compatible. The general rule is any games using Unity 2019.2 or later definitely supports it, but it's likely supported on Unity 2018.1 to 2019.1 games. Finally, it's possible, but very unlikely that Unity 2017.x games supports it.
Roslyn notably features support for the latest C# version (13 as of this release) instead of mcs's limits of C# 7.3 and a much more context aware autocompleter. It still features the ability to access private / internal members just like the mcs backend, but it is MUCH nicer to work with. The only downside of Roslyn is the install size is larger than if mcs was used. If this is a problem for you, the mcs build will still work on any Mono games, even MonoBleedingEdge. Please note that IL2CPP builds for now still uses mcs because there seems to have a lot of issues on BepInEx and MelonLoader about assembly resolution that prevents Roslyn to work.
So to summarize:
- If your game is IL2CPP, simply pick the IL2CPP labeled release with your preferred modloader configuration
- If your game is Mono and it has a "MonoBleedingEdge" folder, it's recommended to pick the "MonoBleedingEdge" labeled release, but if it doesn't work for you, the "Mono" labelled release will still work
- If your game is Mono and it has a "Mono" folder, you have to pick a "Mono" labelled release and avoid the "MonoBleedingEdge" ones
Other than Roslyn, here are all the improvements compared to yukieiji's fork:
- For games using the legacy input system, the game won't listen to inputs while operating UnityExplorer which avoids unintended inputs while typing (click on the game outside of any panels to give controls back to the game)
- The build system is completely revamped which makes development on the project MUCH easier (no more ps1 script, it's just dotnet build)
- It's no longer possible to have the nav bar occlude any panel's title bar
- The freecam tool has improved inputs processing with better defaults control and it will not let the game see any inputs while operating the camera. New to this fork though is the ability to temporarily lock the camera in place while letting the game see inputs so you can for example fix the camera in your desired angle, lock it and then move in the game with the camera staying where you locked it
- Existing mcs support has improved significantly. The mcs build has been rebased from latest Mono and with MUCH cleaner changes to add net35 support to it. Most changes that were done prior to make it work are still in it, but notably, the autocompleter can discover a lot more namespaces (including the global one) and extension methods on top of supporting case insensitive auto completion. There's also better error reporting and cleaner visibility hacks
- The Unity editor build is now functional and it now uses Roslyn as the script compiler backend (it was broken before and needed some fixes)
- Clarify the help dropdown UI for the C# console when it is not expanded
- Fix an issue on some games where panels wouldn't be draggable
I tested the melon releases on the latest alpha-dev CI build, but they should work for 0.7.0 release. For BepInEx v6, I tested the IL2CPP builds work on the latest bleeding edge builds, but it should work on pre2. For v6 on mono, the builds technically could work, but due to mono support not being well tested on v6, it runs into problems caused by BepInEx.