Jump to content

Mod Loader/Replacing art

From Threadbox

An art pack replaces pictures already shown in the game. That includes sprites, menu images, and textures on room objects. You need a PNG or JPEG and a mod.json file. You don't need Unity or a C# plugin.

Replace the front desk background

The main room where you meet clients has two background images: one for daytime and one for nighttime. Both are in the PatternCutting scene, despite the name.

Picture kind assetName objectPath Original size
Daytime image fullImage FrontDesk/Background 2048 by 1152
Nighttime image fullImage_Nighttime FrontDesk/Background/BackgroundNight 2048 by 1152
MyFrontDesk/
    mod.json
    images/
        front-desk.png
        front-desk-night.png
  1. Make two pictures at 2048 by 1152 pixels. Save them as front-desk.png and front-desk-night.png.
  2. Create a MyFrontDesk folder in Dressmaker/Mods. Put both pictures in an images subfolder.
  3. Create mod.json inside MyFrontDesk and paste this:
{
  "id": "my-front-desk",
  "name": "My Front Desk",
  "author": "Your name",
  "version": "1.0.0",
  "artReplacements": [
    {
      "id": "day",
      "kind": "image",
      "assetName": "fullImage",
      "scene": "PatternCutting",
      "objectPath": "FrontDesk/Background",
      "image": "images/front-desk.png"
    },
    {
      "id": "night",
      "kind": "image",
      "assetName": "fullImage_Nighttime",
      "scene": "PatternCutting",
      "objectPath": "FrontDesk/Background/BackgroundNight",
      "image": "images/front-desk-night.png"
    }
  ]
}

Restart the game and open a save to see your daytime picture at the front desk. The night picture appears when the game switches to nighttime. To change only daytime, remove the second entry from artReplacements and keep the game's night picture.

To try a different image size, keep the same proportions. Both front-desk pictures use a 16:9 ratio. PNG supports transparent areas; JPEG doesn't.

The bell, cats, character portraits, and buttons are separate objects. They stay in place over your new background, so leave room for them when drawing it.

Replace the title screen background

To change the main menu background, use the scene TitleScreen. The background uses a RawImage, with the asset name titleBackgroundArt and object path Canvas/Background. The original texture is 4096 by 2048 pixels.

Save your picture as images/title-screen.png and use this entry in your pack's artReplacements array:

{
  "id": "title-screen",
  "kind": "rawImage",
  "assetName": "titleBackgroundArt",
  "scene": "TitleScreen",
  "objectPath": "Canvas/Background",
  "image": "images/title-screen.png"
}

Keep the 2:1 image proportions to avoid stretching. The logo and menu buttons are separate from the background and remain visible. If an example stops matching after a game update, run art-export in that scene and check its names again.

Install and share the pack

ZIP the MyFrontDesk folder to share it. Players can install it with Install/Update Mod and turn it off in Mod Manager. Restart after installing, updating, or disabling it.

Disabling the pack brings back the game's pictures after restarting. Your save stays unchanged. Share the art pack separately from any dress exports; those don't include room art.

Find another image

  1. Start Dressmaker with Mod Loader and go to the room or menu you want to change.
  2. Open the debug console with Ctrl + ` and enter art-export.
  3. Open BepInEx/config/DressmakerMods/art-reference.json in your game folder. Search for the object's name, or look through the entries from that room.

Each entry gives an assetName, a kind, the scene and object path, and the image dimensions. For materials, it also gives the texture property and material slot. These names come from your running game; copy them exactly, including capitals.

The list includes inactive objects in loaded scenes. It doesn't include every image from rooms you haven't visited. Run the command again after changing rooms; it replaces the previous list.

Choose the right kind

kind What it changes
sprite A SpriteRenderer image in the scene.
image The base sprite of a Unity UI Image, such as a menu picture. A button's hover or pressed sprite can still take over.
rawImage The texture of a Unity UI RawImage.
material One texture property on a renderer's material, such as a room object's painted surface.

For material art, copy materialIndex and textureProperty from the export too. An entry might look like this; replace the example names with yours:

{
  "id": "wall-texture",
  "kind": "material",
  "assetName": "YOUR ORIGINAL TEXTURE NAME",
  "materialIndex": 0,
  "textureProperty": "_MainTex",
  "image": "images/wall.png"
}

Room textures use the object's existing UV layout. Keep painted areas in the same places on your replacement image. Replacing a texture doesn't change the mesh, lighting, shader, or texture tiling. A transparent PNG won't make an opaque material transparent.

Change just one object

Without a scene or object path, a rule changes every matching image of that kind as objects load. If several pictures share the same asset, add scene and objectPath from the export to limit the rule:

"scene": "COPY THE SCENE NAME",
"objectPath": "COPY THE FULL OBJECT PATH"

These are exact names, not wildcard searches. Objects with identical names and paths both match. If two packs replace the same target, the higher priority wins. The default is 0; equal priorities use the last registered rule. JSON packs load in folder-name order.

If nothing changes

  • Check the entry's kind and original asset name. A room picture may be a material texture instead of a sprite.
  • Check BepInEx/LogOutput.log for a missing file or aspect-ratio warning. Image files must be no larger than 25 MB, with neither dimension over 8192 pixels.
  • If you added a scene or path, export again in that room and compare them. Renamed objects won't match an old path.
  • New objects are checked about once a second. For changing a registered replacement from C#, call Refresh().

To replace art from a C# plugin, use the Art API.

Back to the Mod Loader guide