_shared
Fallback looks used when a character folder is empty or a slot file is missing.
Dialogue portraits
Your face in the conversation
Haven's Mirror shows a custom player bust during dialogue. Drop PNGs into a gallery folder — one per look. Optional config can keep NPC portraits (and seasonal outfits) on a look you choose. Reload from disk with a hotkey; no restart required.
On launch the mod scans your character saves and creates empty folders. Empty folders are ignored until you add PNGs. gallery/_shared/ is the fallback for every character.
_sharedFallback looks used when a character folder is empty or a slot file is missing.
<CharacterName>Created from your saves. Drop PNGs here to override the shared gallery for that farmer.
Missing slots reuse the first PNG found in that folder.
spring.png
Default / spring
summer.png
Warm season
autumn.png
Fall season
winter.png
Cold season
vows.png
Wedding / ceremony
shore.png
Swimsuit / beach
costume.png
Halloween / costume
Per-character folders under gallery/, with a shared fallback. Missing slots reuse the first PNG found.
Spring, summer, autumn, winter, vows, shore, and costume files map to dialogue contexts.
Press Ctrl+F8 (configurable) to reload PNGs from disk while playing.
Optional override keeps NPC dialogue busts (and seasonal body outfits) on a look you choose.
| Setting | Default | Description |
|---|---|---|
Enabled |
true | Master switch |
GalleryFolderName |
gallery | Folder under the plugin directory for portraits |
SharedFolderName |
_shared | Fallback folder when the character folder is empty |
ForcedLook |
(blank) | Spring / Summer / Autumn / Winter / Vows / Shore / Costume |
ReloadModifier + ReloadKey |
LeftControl + F8 | Reload PNGs from disk |
Install BepInEx 5.x for Sun Haven if you haven't already.
Get HavensMirror.dll from Nexus Mods, Thunderstore, or GitHub Releases — or build from this repo.
Place the DLL in BepInEx/plugins/HavensMirror/, then drop PNGs into gallery/_shared/ or a character-named subfolder.