Manually scan arcade ROMs into a RetroArch playlist on Android
Use Manual Scan only after the exact core can load one lawful test file directly. Set the content directory, a precise system or custom playlist name, the verified default core, and only the extensions that core accepts. Leave archive scanning off unless the core and your storage layout require it, then test one generated entry and keep the original playlist backup.
Do this in order
- 01
Record the RetroArch build, exact core name and version, lawful content source, content directory, archive layout, and current playlist backup.
- 02
Load the core and one file directly; stop if it fails, because a manual playlist cannot repair a core, BIOS, dependency, or romset mismatch.
- 03
Open Import Content → Manual Scan and select only the intended content directory; enable recursive scanning only when reviewed subfolders belong in the same playlist.
- 04
Choose a specific system name or a clear custom name, assign the verified default core, and list only the file extensions that core actually accepts.
- 05
Keep Scan Inside Archives disabled unless the core loads that archive format and you understand whether each archive is one launchable set; add an authorized arcade DAT only when its version matches the collection.
- 06
Start the scan, launch one known entry, confirm the displayed core and version, then compare the generated list with your inventory before replacing any older playlist.
Decision and diagnostic table
| Observed condition | Best import choice | What it proves |
|---|---|---|
| File checksum matches RetroArch database | Strict Scan | Database identity only |
| Direct load works but strict scan omits it | Manual Scan | Creates launch metadata |
| Direct load fails with selected core | Do not scan yet | Diagnose core/content first |
| Archive contains several unrelated files | Review layout before archive scan | Prevents false entries |
Manual Scan bypasses recognition, not compatibility
Libretro describes the normal scanner as strict: content must match the database by CRC or disc serial. Manual Scan instead builds entries from directory, extension, system name, and core choices, so it is useful for lawful content that is absent from that database.
The resulting playlist is not an audit. A wrong core, missing BIOS, incompatible MAME set generation, or unreadable Android URI will still fail when launched.
Treat every field as a boundary
A narrow content directory and extension list prevent unrelated archives, notes, or save files from becoming launch entries. A custom playlist name should describe the system and set boundary instead of borrowing a database name that was never matched.
Archive scanning deserves a separate decision. Arcade ZIP files are commonly one set each, while other archives may contain several files or unsupported nesting. Prove the core's behavior with one copy before scanning a library.
Preserve reversibility and evidence
Back up the existing playlist, keep the source inventory, and test a generated entry before enabling overwrite. If labels or core associations are wrong, restore the JSON and correct the scan settings rather than renaming content.
Thumbnail matching depends on playlist and entry names, but cosmetic matching must not drive ROM renaming. Keep technical identity, rights provenance, and the exact core version ahead of artwork convenience.
Manual Scan does not supply or license games. Import only your own lawful dumps or explicitly authorized releases; do not use DAT names, thumbnails, or expected filenames as directions to unreviewed ROM, BIOS, CHD, artwork, or music downloads.