JeviLibBL Debug

v3.1.0·Updated 2025-07-10

A multifunction library for code modders, containing patching, preferences, tweening, postprocessing, async support, stats, and other utilities.

About this mod Author’s original text

JeviLib Debug

A multifunction library for code modders, containing serialization utilities and tweening.

What's the difference between "Debug" and "Normal"?

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 and have greater insight on what's going on.

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.

What does it do?

JeviLib version 3.1.0 no longer requires a plugin to be installed, as the actions that it performed have been brought into MelonLoader 0.7.1, hence the requirement.

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.

  • Jevil: Contains countless utilities and extension methods I created during development of Chaos, maps, and other parts of JeviLib.
  • Jevil.Prefs: Described above, a way to quickly and easily create MelonPreferences and BoneMenu entries.
  • Jevil.Tweening: An extensible tweener that modders can use to smoothly transition the state of values from a starting value to another, with multiple tweeners built in.
  • Jevil.IMGUI: Contains utilities for drawing quick debug things to IMGUI. Use via DebugDraw class's methods.
  • Jevil.Patching: Easily hook/replace/disable methods using Actions and Funcs (And disable methods using namespace, type name, and method names).
  • Jevil.Waiting: Replacements for WaitUntil and WaitDuring, as well as a WaitForSceneInit awaitable. As well as CallDelayed to invoke things at a later time.
  • Jevil.PostProcessing: A custom postprocessing layer, with support for custom shaders, including access to the depth buffer (on PC)

Be specific: what else does the JeviLib contain?

  • Asset management: The BundledAsset class makes it easy to reference assets contained in AssetBundles, with support for async asset loading to avoid halting the main thread, and ULazy to only load things when you need them.
  • Various other utilities: The Utilities class has a lot of reflection and serialization utilities, so you can quickly serialize objects and save them to a file or send them over the network.
  • Asynchronous coding: The AsyncUtilities and AsyncExtensions classes let you run all your code without halting the game, and minimizing lag.
  • Compiler services: [IsUnmanagedAttribute], so that your type constraints can have T: unmanaged.\*

Thanks

  • Adamdev: making BoneMenu
  • WNP78: Making FieldInjector & helping me with advanced patching, used in the older version of Jevil.Patching, but used in the bedrock of postprocessing.
  • Adi: Carrying the code modding category while I waste a bunch of time fucking with Unity for Septic Survival and other things. Also bringing a seafaring misnomer to my attention.
  • Simpleflips: Shoutouts to simpleflips. Its a meme you dip.

Changelog

  • # 3.1.0
  • Update for ML 0.7.1. Untested on 0.7.0.

-.INOC was removed though, but that's little more than a find-and-replace 5 minute fix.

  • For more specifics, check the GitHub. It's been so long, I don't fully remember.
  • # 3.0.0
  • Patch 6 release, because i missed 4 and 5, lol. Basically like a year and a half of development. Now on ML 0.6.x!
  • Added JeviLib.PostProcessing, after much ado and delay, and also testing and finetuning.
  • Added JevilPlugin to modify proxy assembly generation instead of using a forked process and Cecil.
  • Many more things, check out the GitHub repo for everything new.
  • uhhh basically just released so i could get this

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

gnonme-BoneLib

File & checksum

Filename
JeviLibBL_Debug-3.1.0.zip
File size
346.6 KiB