AssetReplacer

v20.2.0·Updated 2023-06-19

Plugin to replace assets in 20 Minutes Till Dawn and support the creation of asset mods.

About this mod Author’s original text

20MTD AssetReplacer

BepInEx plugin to replace assets in 20 Minutes Till Dawn.

Can currently replace:

  • Textures of Sprites
  • Audio

Usage

  • Install through
  • Install any Asset-Mods based on AssetReplacer
  • See Configuration

Manual

  • Install BepInEx
  • Add the plugin DLL to BepInEx\plugins
  • Install any Asset-Mods based on AssetReplacer

They should follow this structure:

20MinutesTillDawn

|--BepInEx

|--plugins

|--YourModFolderName

|--Textures

| |--Enemies

| | |EyeMonster.png

| | |T_TreeMonster.png

| |--Projectiles

| |T_GunFX.png

| |T_FireParticles.png

|--Audio

|title.mp3

|battle.mp3

"Textures" and "Audio" may only contain files corresponding to the type. E.g. Textures should not contain any text files, only images.

Files in "Textures" and "Audio" may follow any structure. They may be located in subdirectories or directly contained in the folders.

  • See Configuration

Configuration

  • Enable/Disable which assets to replace
  • Add the Mods directory names to the proper ModFolders configuration comma seperated

Format: ModCreator-Modname

Example:

[Textures]

EnableTextureMods = true

TextureModFolders = Zeprus-ExampleTextureMod,Zeprus-ExampleTextureMod2

Manual

  • Add the Mods directory names to the proper ModFolders configuration comma seperated

Format: ModfolderName

Example:

Mod folder is BepInEx/plugins/YourModFolderName

[Textures]

EnableTextureMods = true

TextureModFolders = YourModFolderName

Setup

  • Clone the repo
  • Add libs to /lib:
  • Add all the DLLs from the game's Managed folder
  • Add all BepInEx DLLs
  • Install any pre-requisite stuff (see BepInEx setup docs)
  • Open in Visual Studio
  • Build via Build » Build Solution
  • Compiled DLL will be in /bin/Debug

Create Asset-Mods

  • Create your package
  • Create a "plugins" folder inside your package
  • Create a folder inside plugins named after the asset type you want to replace (e.g. textures or audio)
  • Place your replacement assets inside the proper subfolder following any structure
  • (Optional) Write a BepInEx-Plugin that calls AssetReplacer.API.Register("Author-Modfoldername", AssetReplacer.API.AssetType.\[Textures/Audio\]) during its Awake() function and has AssetReplacer as dependency. See example plugin.

Structure examples:

MyThunderStorePackage.zip

|README.md

|icon.png

|manifest.json

|--Plugins

|--Textures

| |--Enemies

| | |EyeMonster.png

| | |T_TreeMonster.png

| |

| |--Projectiles

| |T_GunFX.png

| |T_FireParticles.png

|--Audio

|title.mp3

|battle.mp3

MyThunderStorePackage.zip

|README.md

|icon.png

|manifest.json

|--Plugins

|--Textures

| |EyeMonster.png

| |T_TreeMonster.png

| |T_GunFX.png

| |T_FireParticles.png

|

|--Audio

|title.mp3

Links

  • Steam

-

  • Discord
  • Discord » Modding Channel
  • Wiki » Modding
  • BepInEx Github
  • BepInEx Docs

Credits

  • TormentedEmu/7DTD-A19-DMTMods - Code for the music loader

Changelog

  • 20.2.0 added API for registering Modfolders programmatically
  • 20.1.0 Bugfixes for 20MTD v1.0 release, increased stability
  • 20.0.0 release

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:

BepInExPackMTD-BepInExPack_20MTD

File & checksum

Filename
AssetReplacer-20.2.0.zip
File size
50.4 KiB