eXtraTMP is a simple BepInEx plugin that allows you to add fallback fonts to existing fonts or configure alternative font replacements.
Fonts can be loaded from either TrueType or AssetBundles.
- Place your font file (
*.ttf) into theBepInEx/plugins/XTMPdirectory. - Specify the font in the configuration file using its exact filename.
- Create a TextMeshPro asset within Unity.
- Build the asset into a bundle using the AssetBundles-Browser.
- Place the bundle file (either with no extension or a
*.bundle) into theBepInEx/plugins/XTMPdirectory.
- Write the configuration file by referring to the Configuration Syntax section below.
- Place your completed configuration file (
*.ini) into theBepInEx/plugins/XTMPdirectory.
Once everything is set up, your BepInEx/plugins/XTMP directory should look like the following structure:
BepInEx/plugins/XTMP/
├── bundles/
│ ├── ko-KR.bundle
│ ├── ko-KR.bundle.ini
├── fonts/
│ ├── ko-KR/
│ │ ├── D2Coding.ttf
│ │ ├── Galmuri7.ttf
│ │ └── NotoSansKR.ttf
│ └── ko-KR.bundle.ini
└── XTMP.dll
Note: The configuration file format is similar to INI, but it does not support actual, standard INI syntax.
# GLOBAL FALLBACK
# Fonts listed without a section header are automatically added to the global fallback list in TMP_Settings.
Galmuri7
# DIRECT REPLACEMENT
# Completely replace an original font with a new one using the '->' operator.
# Syntax: [OriginalFontName -> ReplacementFontName]
[ExperimentIEatCrayons -> KCCKimHoon SDF]
# TARGETED FALLBACKS
# Specify an original font as a section header to assign fallbacks exclusively to that font.
[Retro Gaming]
NeoDunggeunmoPro
# If multiple fonts are listed under a section, they will be applied sequentially as fallbacks.
[LiberationSans SDF]
NotoSansKR SDF
NotoSansJP SDF