"Roboto Mono is the engine's monospace font"
▸ SYMPTOM
Your UI uses font-family: "JetBrains Mono" or font-family: Consolas for a monospace look. It works on your dev machine but falls back to a proportional font for other players.
▸ CAUSE
The s&box install ships ~65 fonts at addons/base/Assets/fonts/. "Consolas" only resolves because it's a Windows system font; "JetBrains Mono" only resolves if you've installed it locally.
s&box has no @font-face support. Fonts under an Assets/fonts/ path are referenced by internal family name, and SCSS references that name bare or quoted.
Corrected 2026-07-31 (engine 26.07.22): "auto-registers any font file under an Assets/fonts/ path" is too broad. Roboto Condensed, though it physically ships at addons/base/Assets/fonts/ alongside the others, is not reachable from UI CSS. Verified live, font-family: "Roboto Condensed" (and unquoted) silently falls back rather than rendering condensed glyphs. The engine's own SCSS only registers Poppins, Roboto, Roboto Mono, Inter, and Material Icons as usable UI families. A font file being present in the base install's fonts folder is necessary but not sufficient; treat the confirmed-reachable list as exactly those five until a family is proven live by an actual capture, not by its presence on disk.
▸ FIX
For a monospace look with zero extra work:
font-family: "Roboto Mono", monospace;Engine precedent uses this exact pattern (e.g. the menu addon's stat-value styles).
Shipping a custom font
To use an actual custom TTF (e.g. real JetBrains Mono):
- Drop the
.ttffiles into your project'sAssets/fonts/directory. - Reference by internal family name, no
@font-facedeclaration needed:
font-family: "JetBrains Mono", "Roboto Mono", monospace;▸ WHY IT WORKS
The font resolver walks registered font files, not the OS font directory. Being physically present under an Assets/fonts/ path is necessary but not sufficient: the family also has to be registered by the engine's own SCSS, which is why Roboto Condensed ships yet never resolves. Prove any family you rely on with a live capture rather than a directory listing.
- Corrected (26.07.22): 'auto-registers any font file under Assets/fonts/' is too broad. Roboto Condensed ships but is not reachable from UI CSS; the engine's own scss registers only Poppins, Roboto, Roboto Mono, Inter and Material Icons.