Skip to Content
DocumentationAssetsFont Replacement

Font Replacement

FM Skin Builder supports replacing Football Manager’s fonts with custom typefaces. This lets you change the typography throughout the game.

Supported Formats

FormatExtensionNotes
TrueType.ttfMost common, widely supported
OpenType.otfModern format, advanced features

FM’s Font System

Football Manager uses different fonts for different purposes:

UsageDescription
UI FontGeneral interface text
Heading FontHeaders and titles
Body FontLong-form text
Mono FontCode-like text, numbers
League FontsCompetition-specific (Champions League, etc.)

Setting Up Fonts

Folder Structure

my-skin/ ├── config.json └── fonts/ ├── my-font.ttf ├── my-font-bold.ttf └── mapping.json

Adding to Config

Include fonts in your config:

{ "schema_version": 1, "name": "My Skin", "includes": ["fonts"] }

Font Mapping

Create fonts/mapping.json:

{ "my-font.ttf": "UIFont", "my-font-bold.ttf": "UIFont-Bold" }

Finding Font Names

Bundle Viewer

Browse fonts in the Bundle Viewer:

Font browser in Bundle Viewer

Screenshot ID: bundle-viewer-fonts

Discover available fonts in the Bundle Viewer

Font Mapping Syntax

Basic Replacement

{ "your_font_file.ttf": "original_font_name" }

Example:

{ "roboto-regular.ttf": "UIFont", "roboto-bold.ttf": "UIFont-Bold" }

This maps:

  • UIFontfonts/roboto-regular.ttf
  • UIFont-Boldfonts/roboto-bold.ttf

Font Families

For fonts with multiple weights:

{ "inter-regular.ttf": "UIFont", "inter-light.ttf": "UIFont-Light", "inter-bold.ttf": "UIFont-Bold", "inter-black.ttf": "UIFont-Black" }

Choosing Fonts

Considerations

FactorRecommendation
ReadabilityClear at small sizes
StyleMatches your skin theme
CompletenessHas all needed characters
Weight rangeMultiple weights available
LicenseFree for personal use
FontStyleSource
InterModern sans-serifGoogle Fonts
RobotoClean sans-serifGoogle Fonts
Open SansReadable sansGoogle Fonts
PoppinsGeometricGoogle Fonts
JetBrains MonoMonospaceJetBrains

Font Sources

League-Specific Fonts

FM includes fonts for specific competitions. You can replace these as well.

Replacing League Fonts

{ "my-ucl-font.ttf": "UCLFont", "my-uel-font.ttf": "UELFont", "my-pl-font.ttf": "PremierLeagueFont" }

Note: These appear in specific competition contexts.

Practical Example

Goal: Custom UI Font

Replace the main UI font with Inter:

Step 1: Download the font

Get Inter from Google Fonts:

  • inter-regular.ttf
  • inter-bold.ttf
  • inter-light.ttf

Step 2: Add to project

fonts/ ├── inter-regular.ttf ├── inter-bold.ttf ├── inter-light.ttf └── mapping.json

Step 3: Create mapping

fonts/mapping.json:

{ "inter-regular.ttf": "UIFont", "inter-bold.ttf": "UIFont-Bold", "inter-light.ttf": "UIFont-Light" }

Step 4: Update config

{ "includes": ["fonts"] }

Step 5: Build and test

Build your skin and verify the new font appears in FM.

Custom font in FM

Screenshot ID: font-replacement-result

Inter font replacing the default UI font

Font Variants

Handling Bold/Italic

If a font has separate files for variants:

{ "myfont-regular.ttf": "UIFont", "myfont-bold.ttf": "UIFont-Bold", "myfont-italic.ttf": "UIFont-Italic", "myfont-bolditalic.ttf": "UIFont-BoldItalic" }

Single Font File

If using a variable font or single file:

{ "myfont.ttf": ["UIFont", "UIFont-Bold"] }

Note: Bold may not look correct if the font doesn’t have bold data.

Tips and Best Practices

Test Readability

Small UI text must be readable:

  • Test at actual game resolution
  • Check different zoom levels
  • Ensure numbers and letters are distinct

Provide All Variants

If replacing UIFont, provide:

  • Regular
  • Bold
  • Any other variants used

Missing variants may cause FM to use fallback fonts.

Consider Character Support

Ensure your font supports:

  • Basic Latin (English)
  • Extended Latin (accented characters for other languages)
  • Numerals and symbols

Backup Original Files

Some font changes can make text unreadable:

  • Keep your original skin
  • Test on a save you can afford to corrupt
  • Use restore if needed

Troubleshooting

”Font not appearing”

  1. Check mapping.json syntax
  2. Verify font file exists
  3. Ensure folder in config includes
  4. Try a different font file format

”Text looks wrong”

  • Font may be missing bold/italic variants
  • Add appropriate variant mappings
  • Or choose a font with full family

”Characters missing”

  • Font doesn’t support needed characters
  • Choose a more complete font
  • Check language/Unicode support

”Font looks blurry”

  • Font may not be optimized for screen
  • Try a different font designed for displays
  • Check if FM’s text scaling affects it

”Bold text looks the same”

  • No bold variant provided
  • Map UIFont-Bold to actual bold font file

Next: Building - Learn about building and deploying your skin.

Last updated on