Controller profile migration

RetroArch RetroArch 1.19+ on Windows, Linux, and Android; PPSSPP multi-pad setups Last verified October 2026 Risk: none
Quick answer

Save a per-pad profile before swapping hardware, then check which port the emulator assigns so two pads stop sharing Player 1.

A controller has three identities inside an emulator: the device the system reports, the port it is assigned to, and the button bindings attached to that port. Swap the pad, add a second one, or reinstall, and the first identity changes — which quietly breaks the other two. The bindings are still there; they are just attached to a port nothing is plugged into.

What breaks and why

SituationWhat changesResult
New pad of the same modelDevice IDAuto-detect re-binds it to a different port
Second pad addedPort assignmentBoth pads drive Player 1
Pad sleeps then reconnectsPort orderPlayer 2 becomes Player 1 mid-session
Reinstall or new machineConfig locationBindings look gone, profile file is not

These are tracked behaviours, not one-off glitches:

Move a setup without losing the bindings

  1. Save a profile per pad before changing hardware
    With the old pad connected, save its binding as a named controller profile instead of leaving it as an unlabelled override. A named profile is a file you can carry; an auto-detected binding is not.
    The profile appears in the controller profile list and reloads without the pad attached.
  2. Write down which pad is on which port
    Note the port order while everything works. Port assignment is what actually decides Player 1 versus Player 2, and it is the first thing that shifts when a pad reconnects or a new one is added.
    The note matches the port list in the emulator's input settings.
  3. Assign ports manually after the swap
    Pin each pad to its intended port rather than relying on automatic detection. With two pads of the same type connected, auto-detect has nothing to distinguish them by, which is exactly how both end up on Player 1.
    Each pad moves only the player it is pinned to.
  4. Copy the profile file over on a reinstall or new machine
    Bindings live in the emulator's config directory, not next to your games. Copy that directory — or the single saved profile — and reload it, rather than rebinding every button by hand.
    The reloaded profile drives the same buttons on the new install.
  5. Reconnect the same way it was connected before
    Wired and wireless are different device entries. A pad bound while plugged in will not match the same pad on Bluetooth, and the reverse. Keep the connection type consistent, or keep two profiles.
    The pad lands on the expected port immediately after reconnecting.

If the pad is not seen at all rather than mis-assigned, that is a detection problem — on Android start with Android emulator controller not working. Pairing a new pad for the first time is covered in 8BitDo Switch Pro pairing, and a pad that keeps dropping out is DualSense not detected territory.

Last verifiedOctober 2026
CorrectionsSpotted an error? See our editorial guidelines