

This version was built with the DEBUG compiler flag. This means that there are extra checks and log points. This means slightly decreased performance, but you will be warned when you attempt to perform invalid operations.
You should not rely on the increased checks for your code. This version should not be the version you depend on. You should depend on the normal version of JeviLib.
JeviLib v2.0.0 has been pre-released only as a Debug build for a reason. This is because it contains advanced processes that fix Coroutines and makes UniTasks usable, and I need more time to make sure these processes work on everyone's computers.
In using this pre-release version of JeviLib, you are able to use JeviLib's modifications to get your mods ready. If the Coroutine and UniTask fixer works fine on your machine (Quest 2 or PC), please tell me! I need to know if it works so I know I can upload the Release build. (And if it doesn't, please tell me that too! I need to know so I can improve compatibility)
If the fixer process does not properly execute, you may need to download it manually and run it.
JeviLib v2.0.0's advanced processes that may get it flagged by antivirus programs. To learn more, expand the dropdown below.
As far as the advanced processes go, JeviLib v2.0.0 includes an embedded resource process that I called "JevilFixer.exe" (or "JevilForkedProcess")
This process will be opened if the type Cysharp.Threading.Tasks.UniTask.Awaiter does not implement the INotifyCompletion interface and/or MelonLoader.Support.MonoEnumeratorWrapper (from the IL2CPP support module) does not have the field waitTime.
The process has been packed into a single executable using the Costura.Fody assemblyweaver. This may be something that sets off antivirus programs. (I would have used the Produce Single File option in Publish, except I made it use .NET Framework to not balloon install size or force users to install the .NET Core runtime)
This process will reopen itself if it detects it is a child of the BONELAB process. This is so that will not close when BONELAB does. It must do this so it can modify the IL2CPP support module and unhollowed UniTask assembly after the game has exited. If it does not wait, it will be unable to delete or overwrite Il2Cpp.dll or UniTask.dll because MelonLoader locks those files when loading them.
Somehow, the user on Quest will have a better user experience, as they don't have to deal with dumbass programs like NORTON false-flagging my lib. Since Quest throws errors out the wazoo when I replace the support module, a Harmony-based solution has been developed instead. It has the same functionality. UniTask.dll is able to be modified during runtime because LemonLoader doesn't lock files.
This library holds a bunch of utilities I found necessary to create whilst I created BW Chaos, and that continues to remain useful on other projects. In these utilities are my Prefs system, numerous extension methods, and my serialization utilities (byte array lossless joiner and separator, Vector3 byte converter).
JeviLib also includes many extra utilities I created because I can see others having a use for them, organized by namespace.
Hook.OntoComponentInitRedirect and Hook