Skip to content

config txt

Jinwoo Lee edited this page May 16, 2026 · 3 revisions

config.txt

config.txt is the language pack's control file. It declares what language you are and (optionally) how to map game fonts to your custom ones, plus per-element position tweaks.

The file uses an INI-style layout: a few top-level KEY = value lines, followed by [SECTION] blocks. Comments start with #.

Language metadata

LANGUAGE_NAME = Korean
LANGUAGE_CODE = ko-KR
Setting Purpose Examples
LANGUAGE_NAME Display name shown to end users. Write it in the language's own script. Korean, Español, 日本語, Português
LANGUAGE_CODE ISO language code (xx-XX). ko-KR, es-ES, ja-JP, pt-BR

Both fields are free-text — the plugin doesn't validate them, but other tools and the in-game logs use them.

UNICODE_RANGES (deprecated)

Older configs included a UNICODE_RANGES = … line. The plugin no longer reads it. You can leave it in place (it's ignored) or delete it.

[FONTS] — font mapping

If you ship a fonts.unity3d bundle (see Creating font assetbundle), this section tells the plugin which custom font to substitute for each game font:

[FONTS]
FugazOne-Regular = NanumSquareRoundEB
Heebo-Black = PaperlogyExtraBold
AlfaSlabOne-Regular = ROKAFSlabSerifBold
ArchivoBlack-Regular = PaperlogyExtraBold
Cour10Bd = D2Coding
RAGE = KyoboHandwriting2019
Dosis-SemiBold = TmoneyRoundWindExtraBold
Dosis-SemiBold LowCase = NanumSquareRoundEB
VT323-Regular = GalmuriMono11
DroidSerif-Bold = MaruBuri-Bold
PlayfairDisplay-Bold = MaruBuri-Bold
WalterTurncoat-Regular = MaruBuri-Bold
BLUEHIGD = D2Coding
  • Left side — the original game font's name. The shipping Korean pack covers most of the fonts the game actually uses; you can take the same list as a starting point.
  • Right side — the name of a font asset inside your fonts.unity3d. Bundle and config must agree exactly.

If the [FONTS] section is missing, empty, or fonts.unity3d doesn't load, the plugin falls back to the default in-game fonts. That's fine for Latin-script languages.

For some screens that are heavy on the original font even when no translation matches (teletext display, the computer POS, the unemployment letter, rally/service sheets, classifieds magazine, TV graphics), the plugin force-applies the mapped font anyway so the layout stays consistent. You don't have to configure anything for that — it just happens for paths the plugin knows about internally.

[POSITION_ADJUSTMENTS]

This section tweaks the position, font size, line spacing, and width of individual TextMesh elements when a translation doesn't fit cleanly. Each line targets one or more UI paths and applies an offset:

[POSITION_ADJUSTMENTS]
Contains(GUI/HUD/) & EndsWith(/HUDLabel) = 0,-0.05,0
Contains(PERAPORTTI/ATMs/MoneyATM/Screen) & !Contains(/Row) & EndsWith(/Text) = 0,0.25,0
GameObjectEquals(Sheets/Magazine/List) = 0,-0.002,0

This is a large topic with its own page — see Text Adjustments for the condition syntax, parameter format, and worked examples.

Reload after editing

Save the file and press F8 in-world. The plugin re-reads config.txt, re-maps fonts, and re-applies position adjustments without restarting the game. See Testing & Debugging.

Clone this wiki locally