Some BepInEx plugins for JSK's Unity games. Well, to be more accurate, one plugin, one half-finished one, and one that is obsolete now. You're probably here for TextureReplacer. It is recommended that you use these plugins with ConfigurationManager and MessageCenter, but these are not strictly required.
Download the latest release from the releases page. Put the relevant plugin .dll into BepInEx\plugins.
TextureReplacer allows the replacement of textures at runtime from files on disk (currently accepting .png files), and hot reloading of said replacements, either individually or by selecting a new folder entirely. It also allows runtime dumping of said textures.
When you first run the game with the plugin present, the plugin will generate two folders in BepInEx\plugins, ReplacementTextures and DumpedTextures.
Replacements can be loaded by creating a subfolder inside ReplacementTextures and putting your textures inside. Textures replace game textures if their names match. Currently only .png files are accepted for replacement.
Once you've done that, you can select the replacement folder you want to use either via ConfigManager or by manually editing the .cfg file in BepInEx\config.
The plugin also has the option to watch the current replacement folder for changes, such as edits or new files being added, and reload without prompting.
Pressing the dump hotkey will enable dumping. Dumping will dump a copy of all textures loaded by the game into the DumpedTextures folder. Textures are dumped as .png files, with their original name plus a "#" symbol and then some letters. The # and everything after it is needed because some games have textures with the same name, so the numbers are to make them distinct. The plugin ignores everything after the # when loading the file.
Important: the plugin dumps via an inbuilt Unity function that encodes the texture to .png. This means that some detail may be lost when exporting or re-importing, simply due to how image formats work. Testers of the plugin haven't reported any such issues, but if you encounter any please report them in the Issues tab of this repo. If you find yourself wanting more accurate exports, please consider using one of the bundle extractor solutions like AssetTools.NET or UABE.