Identity and version
The id and version are how the framework tells mods apart and checks that a mod is new enough.
Things to know
- The id is 1 to 64 characters: letters, digits,
.,_and-. It names your mod’s log, config file and saved data, and it is the name your mod’s game patches are filed under. - A version has 2 to 4 numbers separated by dots, such as
0.1or1.2.3. Missing numbers count as 0, so0.11,0.11.0and0.11.0.0are the same version. The oldest version in a dependency follows the same rule. (For a BepInEx plugin the version is cut at its first-or+before it is compared, so1.2.0-beta.1and1.2.0+abccount as1.2.0, and a prerelease counts as equal to its release, not lower. Framework mod versions and dependency minimums do not get this cut, so1.2.0-betais refused for them.) - Capital and small letters do not matter when ids are compared. This holds against other framework mods and against BepInEx plugin ids.
Limits
- Text, a sign or a space is refused in a version, so
-beta,+1.0and a space in front of1.0do not work. - The name must not be empty.
- Some ids belong to the framework, and you can’t use them. A framework mod whose id is
ObenseuerCore,nomad.obenseuer.core,ObenseuerCore.ModKeybindsorobenseuer.moddingframework, or starts with one of them, in any letter case, is skipped with a warning. An id that is a Windows device name, such ascon,nuloraux, is skipped too, because it could not be used as a file name. - If two framework mods have the same id, only one loads. The first file when sorted by path loads, and the other is skipped with a warning that names both files.
- A framework mod whose id is already used by an installed BepInEx plugin is skipped with a warning.