Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To play Pokémon Heart & Soul, patch the current v2.0.6 UPS file onto your own legally obtained Pokémon Emerald Version (U) ROM, open the resulting GBA file in an emulator suited to your device, and configure controls in that emulator. Use the game’s normal save command for progress. Save states are emulator snapshots for temporary experiments or quick recovery; they are not a replacement for an in-game save and do not transfer between emulator setups.

The project’s current download guide identifies v2.0.6 as the release updated September 16, 2026. Because the project does not publish one universal Heart & Soul button map, your exact keyboard keys, controller buttons, or touchscreen layout depend on the emulator, app version, and device.

What you need before configuring controls

  • A legally obtained Pokémon Emerald Version (U) ROM. The patch process is documented for the U.S. version, not an arbitrary regional dump.
  • The Pokémon Heart & Soul v2.0.6 UPS patch.
  • A UPS-compatible patcher.
  • An emulator recommended for your platform.
  • A separate, untouched copy of your original Emerald ROM. Keep it as a backup and never overwrite it with the patched file.

Heart & Soul is distributed as a patch rather than as a pre-patched ROM. The patcher creates a new GBA file from your clean Emerald ROM and the UPS patch. If your source ROM is from another region, already modified, or damaged, a patch can fail or produce a file that behaves unpredictably.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Current release and emulator choices

The current project guide names v2.0.6 and says it was updated September 16, 2026. Follow the guide’s release notes if a newer patch appears after that date; do not assume that a save from one major rebuild will work with another.

Platform Emulator choices named by the project guide Input considerations
Windows or macOS mGBA Configure keyboard or a connected controller in the emulator’s input settings.
Android Pizza Boy, Lemuroid, or RetroArch with the mGBA core Choose touchscreen controls or bind a compatible physical controller.
iOS Delta, RetroArch with the mGBA core, or Ignited Review the app’s touch layout and any external-controller mapping.
Linux handheld devices RetroArch with the mGBA core Set the handheld’s buttons in RetroArch and verify the hotkey combination separately.

These are project recommendations, not a guarantee that every device or configuration behaves identically. The guide describes MyBoy as outdated and does not recommend it. Performance rankings and a single “best” emulator are not established by the project documentation.

Patch the game without damaging your original ROM

  1. Make a clean backup. Copy your legally obtained Emerald Version (U) ROM to a separate folder. Give the backup a clear name such as Emerald_US_clean.gba and do not patch that copy.
  2. Download the v2.0.6 UPS patch. Keep the patch file unchanged. A UPS patch is not opened as a game; it is applied to the base ROM.
  3. Open a UPS-compatible patcher. Select the UPS patch option, then choose the clean Emerald (U) ROM as the source file. When the patcher asks for an output name, create a new file such as Heart_and_Soul_v2.0.6.gba.
  4. Check the output. Confirm that the new GBA file exists and that the original clean ROM is still available. If the patcher reports a checksum, format, or source-file error, stop and verify that you selected an unmodified Emerald Version (U) ROM rather than repeatedly patching the same output.
  5. Open only the patched file in the emulator. The emulator should load the new Heart & Soul GBA file, not the untouched Emerald backup and not the UPS file.

Keep the patched ROM beside your save backup when you update. A save belongs to a particular game build, and changing the ROM without checking the release changelog can make a previously working save unusable.

Set up game controls in any emulator

Controls are configured by the emulator, not by a universal Heart & Soul menu. The game uses the standard Game Boy Advance input set: a directional pad, A, B, L, R, Start, and Select. You may place those actions on a keyboard, physical controller, or touchscreen.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open the emulator’s Input, Controller, or similarly named settings page.
  2. Choose the profile for the patched Heart & Soul game if the emulator supports per-game profiles. Otherwise, edit the active GBA profile.
  3. Map Up, Down, Left, and Right to a comfortable directional control. Then map A, B, L, R, Start, and Select to clearly labeled buttons.
  4. Check for accidental duplicate bindings. A button used for a menu shortcut or turbo function can make gameplay inputs appear to malfunction.
  5. Start the game and test every action in a safe area. Walk in four directions, open the menu, confirm A selects and B cancels, and verify L and R before beginning a long play session.
  6. Save the profile if the emulator offers a save or apply button. Some mobile apps apply changes immediately; others require you to leave the settings screen.

Exact defaults vary with the emulator, app version, controller, and operating system. Do not assume that a keyboard layout shown in another guide applies to your installation.

Using a physical Bluetooth controller

A Bluetooth game controller is optional. It can be useful on a phone, tablet, or handheld if the device and emulator support it, but the project and emulator documentation do not establish that any particular controller model is required. Pair the controller with the operating system first, then open the emulator’s controller settings and bind each GBA action. Confirm compatibility with your device before buying an accessory.

Configure RetroArch controls and emulator hotkeys

RetroArch has two separate layers that are easy to confuse:

  • Game controls are the buttons sent to the mGBA core, such as A, B, the D-pad, Start, and Select.
  • Hotkeys are RetroArch commands, such as saving or loading a state, pausing, or resetting. They do not change what A or B means inside the game.

RetroArch supports automatic and manual joypad configuration. Its input settings let you assign an action to a keyboard key or a controller button. The mGBA core also supports controls and remapping.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Launch RetroArch and open Settings, then Input. Menu names can differ slightly between RetroArch versions and platform builds.
  2. Open the controller or port-1 binding screen and assign the GBA actions to your keyboard or joypad. If RetroArch recognizes the controller automatically, inspect the resulting bindings instead of assuming every button is correct.
  3. Return to the input settings and locate the hotkey configuration. Choose a hotkey-enable button if you want a modifier-based layout. For example, a controller button can remain available for gameplay while a combination of that button plus another button performs an emulator action.
  4. Assign Save State, Load State, and, if desired, State Slot Increase or State Slot Decrease. Avoid assigning these actions to buttons you frequently press during normal play.
  5. Start Heart & Soul and test both layers. Press each GBA button by itself, then test the hotkey modifier and save/load commands in a disposable state slot.

RetroArch’s frontend stores cartridge saves and emulator states separately. The mGBA core documentation identifies the frontend’s Save directory for .srm cartridge-save files and the State directory for .state# files. Folder locations can differ by operating system or installation, so use RetroArch’s directory settings to see the active paths.

How to save your progress correctly

Use the in-game save first

Open Heart & Soul’s own menu and choose its normal save command. Wait for the game to confirm that the save completed before closing the emulator. This writes cartridge-style save data, which is the progress format intended for moving between compatible emulator setups.

Make a normal save before major events, before changing emulator settings, and before closing the application. A save state can be made in addition to that save, but it should not be the only copy of progress you care about.

What a save state is

A save state is an emulator-level snapshot of memory and execution at a particular instant. It can restore a battle, menu, or other moment much faster than loading the game and selecting the in-game save. It is convenient for testing a choice or recovering from an accidental defeat, but it is tied to the emulator, core, ROM build, and state-slot format that created it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Characteristic Normal in-game save Emulator save state
Created by Heart & Soul’s own save command The emulator or frontend
Primary purpose Long-term game progress Quick snapshots and temporary recovery
Transfer path described by the FAQ Supported save files such as .sav, .srm, or .fla Not transferable between the emulator setups described by the project FAQ
Recommended for gift-Pokémon soft resets Yes No
Risk when changing ROM builds Depends on the project’s version-compatibility rules Can fail if the emulator, core, ROM, or state format changes

Use save states safely

  1. Make a normal in-game save.
  2. Create a save state only after the normal save has completed.
  3. Use a clearly identified slot for temporary experiments instead of overwriting your only state.
  4. When you finish, return to the game and make another normal save before closing the emulator.
  5. Back up the cartridge save file separately from the state files. A state backup cannot substitute for the project’s supported save-transfer formats.

If a state refuses to load after an emulator update, first reopen the same patched ROM with the same core and verify the state directory. Do not delete the normal save while troubleshooting; it is the recovery path that is designed to carry game progress.

Gift Pokémon, shiny hunting, and soft resets

The official FAQ gives a specific instruction for gift Pokémon: For gift Pokemon, save the game normally, not a save state, and soft reset. Follow that sequence whenever you are trying to reroll a gift Pokémon.

  1. Reach the point immediately before receiving the gift.
  2. Choose the game’s normal save command and wait for confirmation.
  3. Trigger the gift encounter or selection.
  4. If the result is not the one you want, use the emulator’s reset command or the game’s supported soft-reset input. The exact key or button combination depends on your emulator and is not a universal Heart & Soul mapping.
  5. Load the normal in-game save and try again. Do not rely on loading a state created after the gift was generated.

The FAQ’s related wording is “How do I get Shiny Pokemon? Is [Pokemon] shiny locked?” The practical control lesson is the same: establish a normal save before resetting, because the project specifically warns against using a save state for this process.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Move saves or back up your setup

The FAQ lists .sav, .srm, and .fla as save-file formats that can transfer. Which extension you receive depends on the emulator. Copy the file while the game is closed so the emulator cannot overwrite your backup during the transfer.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
HYPE GAMER GEAR Acrylic Display Case/Box Protector Compatible with Pokemon HeartGold SoulSilver for the NTSC Version
  • Superior Protection: Designed specifically for HeartGold and SoulSilver game boxes, ensuring they remain free from dust, scratches, and other potential damages. 3mm Acrylic Case.
  • Precision Fit: Tailored to match the exact dimensions of the NTSC version game boxes for HeartGold & SoulSilver, guaranteeing a snug and secure fit.
  • High-Quality Material: Crafted from transparent, high-quality acrylic material that not only protects but allows you to admire the game box's vibrant artwork.
  • Durable Construction: Robust design provides long-lasting protection, keeping your cherished game boxes in pristine condition for years to come.
  • Elegant Display: Enhances your collection's aesthetic with a clear, glossy surface that beautifully showcases the HeartGold and SoulSilver game box artwork.
  1. Exit the game and emulator completely.
  2. Locate the file associated with the patched Heart & Soul ROM. Match the save’s base name to the ROM name when the emulator uses matching filenames.
  3. Copy the save file to a dated backup folder before moving or replacing anything.
  4. On the destination emulator, use its import or save-directory feature, or place the file in the directory it scans for cartridge saves.
  5. Start the same compatible game build and confirm that the in-game save appears. Make a fresh normal save after a successful import.

For RetroArch using the mGBA core, the documented frontend locations are the Save directory for .srm files and the State directory for .state# files. Those locations explain where RetroArch looks; they do not make a state portable or override Heart & Soul’s version rules.

Version compatibility: v1.x, v2.0.4, and v2.0.6

The current guide states that pre-v2.0 saves cannot be used with the v2.x rebuild. If you are moving from a v1.x Heart & Soul release to v2.x, plan to begin a new save rather than expecting an import to work.

Updates within the v2.x line require more care. Before replacing a v2.x ROM, back up both the current save and the patched ROM, then read the specific release changelog. Compatibility instructions can differ by release. Do not infer that a v2.0.4 save, state, or configuration is automatically safe with v2.0.6 merely because both versions begin with “v2.”

Troubleshooting controls and saves

The game opens, but no buttons respond

  • Confirm that the emulator is focused and that the patched GBA file is running.
  • Reopen the input settings and verify that the active controller port has bindings.
  • Test the keyboard or controller in another GBA title or the emulator’s input test, if available.
  • On mobile, check whether an overlay is hidden or whether the operating system has disconnected the controller.

A button performs the wrong action

  • Inspect the A/B and Start/Select assignments individually; automatic controller profiles can place them differently from the labels on your physical device.
  • In RetroArch, check both the core’s game bindings and the separate hotkey bindings.
  • Remove duplicate turbo, menu, or hotkey assignments from buttons used for gameplay.

The game says there is no save

  • Load the same patched ROM that created the save; do not open the clean Emerald ROM.
  • Confirm that the save filename matches the ROM filename when your emulator requires matching names.
  • Check whether the emulator is reading the expected save directory.
  • Restore the backup copy only after closing the emulator, then start the game and inspect its normal load screen.

A save state will not load

  • Use the same emulator, core, ROM build, and state slot that created it whenever possible.
  • Verify the emulator’s State directory and the .state# filename.
  • Do not treat the failed state as proof that the cartridge save is damaged. Test the normal in-game save separately.

An old save disappeared after an update

Check the version boundary first. Pre-v2.0 saves are incompatible with the v2.x rebuild according to the project guide. For v2.x-to-v2.x changes, restore your backup ROM and save, then consult the particular release changelog before trying the update again.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Final setup checklist

  • Patched v2.0.6 onto a legally obtained Emerald Version (U) ROM.
  • Clean Emerald ROM retained as a separate backup.
  • Emulator selected from the project’s platform recommendations.
  • D-pad, A, B, L, R, Start, and Select tested in gameplay.
  • RetroArch game bindings kept separate from emulator hotkeys.
  • Normal in-game save completed before relying on any state.
  • Save file backed up in a supported format such as .sav, .srm, or .fla.
  • Save states reserved for convenience and not expected to transfer between setups.
  • Version changelog checked before replacing a v2.x ROM.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.