Android RetroArch manual import / 2026-07-30

Manually scan arcade ROMs into a RetroArch playlist on Android

Create a deliberate arcade playlist when RetroArch's strict database scan does not recognize your lawful set, without pretending a playlist entry proves compatibility.

10 minute import guideCurrent RetroArch for Android; menu placement and storage visibility vary by distribution

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

  1. 01

    Record the RetroArch build, exact core name and version, lawful content source, content directory, archive layout, and current playlist backup.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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 conditionBest import choiceWhat it proves
File checksum matches RetroArch databaseStrict ScanDatabase identity only
Direct load works but strict scan omits itManual ScanCreates launch metadata
Direct load fails with selected coreDo not scan yetDiagnose core/content first
Archive contains several unrelated filesReview layout before archive scanPrevents 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.

First-party sources

Related guides