Mod Loader/Replacing art
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
- Make two pictures at 2048 by 1152 pixels. Save them as
front-desk.pngandfront-desk-night.png. - Create a
MyFrontDeskfolder inDressmaker/Mods. Put both pictures in animagessubfolder. - Create
mod.jsoninsideMyFrontDeskand 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
- Start Dressmaker with Mod Loader and go to the room or menu you want to change.
- Open the debug console with Ctrl + ` and enter
art-export. - Open
BepInEx/config/DressmakerMods/art-reference.jsonin 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.logfor 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.