Config Reference
Settings live in config/retromod/config.json. Retromod creates the file on first launch, and the in-game settings screen edits the same values.
Active Settings
| Key | Default | Purpose |
|---|---|---|
use_aot | true | Prepare legacy mods ahead of launch on the Fabric entry point |
polyfills_enabled | true | Enable or disable polyfill-provider registration on Fabric, Forge, and NeoForge |
verify_transforms | true | Check generated jars and write unresolved-reference reports |
force_translate_complex | false | Let the in-game file picker attempt a high-risk mod |
check_for_native_versions | false | Opt in to a Modrinth API lookup for a native build of a selected mod |
restart_prompt | true when absent | Show the restart prompt after files are prepared |
Leave these defaults in place unless you are diagnosing a specific transform.
check_for_native_versions is the only setting here that enables routine outbound HTTP. It checks Modrinth metadata and does not download a mod jar. You can also opt in for one run with -Dretromod.checkForNativeVersions=true. The in-game settings screen does not expose this key or restart_prompt. Set them by editing the JSON file.
Reserved Settings
The generated file also contains settings that are reserved for later runtime wiring. Snapshot.6 writes them into a new file, but the transform pipeline does not currently consult them:
| Key | Default | Purpose |
|---|---|---|
use_hybrid | true | Reserved hybrid-engine toggle |
instruction_level_granularity | true | Reserved transform-granularity toggle |
transform_mixins | true | Read by the Fabric initializer, but not yet used to gate the mixin passes |
transform_refmaps | true | Reserved refmap-pass toggle |
remap_reflection | true | Reserved JSON toggle. The current transformer uses the retromod.remapReflection system property |
log_level | "INFO" | Reserved log-level setting |
log_transformations | false | Reserved per-redirect logging toggle |
target_mc_version | "auto" | Reserved override. Loader detection and the CLI --target option select the target |
debug | false | Reserved debug toggle |
dump_bytecode | false | Reserved bytecode-dump toggle |
Do not depend on a reserved key changing behavior yet. The in-game screen exposes only four active toggles, but it preserves other valid JSON keys when saving them.
Editing the File
The file is plain JSON and cannot contain JSON comments. The _comment field is ordinary data and is valid. If the file is invalid, Retromod logs a warning and uses defaults for that launch. Delete the file to regenerate it.
Set check_for_native_versions, restart_prompt, and reserved keys by editing the file. The settings screen does not display them, but it preserves them when saving its four toggles.
Verification reports are written to config/retromod/verify-reports/. The normal AOT cache lives in config/retromod/aot-cache/. Full AOT state lives in retromod-cache/full-aot/.