Skip to main content
A conflict occurs when two or more enabled mods target the same character ID or overwrite the same files. Loading conflicting mods simultaneously causes unpredictable behavior — only one mod’s assets will take effect.

How conflicts are detected

When BD2 Mod Manager scans the staging directory, it compares the character IDs and asset targets of all enabled mods. If two or more enabled mods share the same character ID or file targets, each of them is marked as conflicting. Conflict data is stored on each mod in the conflicts_with field, which lists the names of every other mod it conflicts with:
pub struct BD2Mod {
    pub conflicts_with: Vec<String>, // names of conflicting mods
    pub errors: Vec<BD2ModError>,    // includes HasConflict when flagged
    // ...
}
A mod is assigned the HasConflict error when at least one other enabled mod targets the same character or files.

Conflict indicator

Conflicting mods are flagged in the Mods tab with a warning icon () in the Conflict column. Hovering over the icon shows the names of all mods that conflict with that row.
The conflict indicator only considers enabled mods. If you disable one of the conflicting mods, the warning clears automatically.

Understanding the HasConflict error

When a mod has a conflict, it appears in the Errors column as HasConflict. This does not prevent you from syncing, but the game will only load one of the conflicting mods — the one that the game’s mod loader processes last.
Syncing with unresolved conflicts may produce inconsistent in-game results. Resolve conflicts before syncing to ensure predictable behavior.

Resolving conflicts

You have three options for resolving a conflict:
1

Disable one of the conflicting mods

In the Mods tab, toggle off all but one of the conflicting mods. The conflict warning clears as soon as only one mod remains enabled for that character.
2

Use a profile to separate mod sets

Create separate profiles for each conflicting mod. Switch profiles to load one set at a time without permanently disabling mods.
3

Delete the unwanted mod

If you no longer need one of the conflicting mods, right-click it and choose Delete to remove it from the staging directory entirely.

Conflict scope by mod type

Conflicts are detected based on the mod’s type and associated character or scene ID:
Mod typeConflict scope
StandingCharacter ID (same character’s standing spine)
CutsceneCharacter ID (same character’s cutscene spine)
SceneScene ID (same background or scene asset)
NPCCharacter ID (same NPC model)
DatingCharacter ID (same character’s dating spine)
MinigameMinigame ID, if present (same minigame asset)
Two mods of different types for the same character do not conflict with each other. For example, a Standing mod and a Cutscene mod for the same character can both be enabled without conflict.

Example: resolving a standing mod conflict

Suppose you have two standing mods for the same character both enabled:
  • Luvia_Standing_v1 — enabled, has HasConflict error
  • Luvia_Standing_v2 — enabled, has HasConflict error
To resolve: disable Luvia_Standing_v1. The HasConflict error clears on Luvia_Standing_v2 and you can sync cleanly.

Mods tab

View the full mod list with conflict indicators and error details.

Enabling and disabling

Bulk-disable mods to resolve multiple conflicts at once.

Profiles

Use profiles to maintain separate conflict-free mod sets.

Syncing mods

Apply your resolved mod selection to the game.

Build docs developers (and LLMs) love