Citra MMJ Multiplayer Guide – Local Wireless & LAN Play on Android
Multiplayer

Citra MMJ Multiplayer Guide – Local Wireless & LAN Play on Android

Play 3DS games with friends on Citra MMJ. Requirements, local wireless and LAN setup steps, what works, and fixes for common multiplayer issues.

C
by Citra MMJ

Few things beat the experience of playing Mario Kart 7 or Pokémon against a friend sitting right next to you. Citra MMJ supports 3DS local wireless multiplayer and LAN play between Android devices, which means you and a friend can battle, trade, and race using two phones — no 3DS hardware required.

This guide covers everything: the requirements, the exact setup steps, what actually works, what doesn’t, and how to fix the most common connection problems.

What Citra MMJ Multiplayer Supports

Citra’s multiplayer emulates the 3DS’s local wireless (the “Download Play” and direct-connection features of real hardware) over your Wi-Fi network. Here’s the important distinction:

Multiplayer TypeSupported?Notes
Local wireless (ad-hoc emulation)YesDevices must be on the same Wi-Fi network
LAN roomsYesOne device hosts, others join via the same network
Download Play (one game copy, guests join)LimitedWorks for some titles, not all
Online multiplayer / public roomsNoCitra MMJ has no built-in public room browser

In short: multiplayer on Citra MMJ is for local play — two or more devices on the same Wi-Fi network. There is no matchmaking with strangers over the internet, and Nintendo’s discontinued 3DS online services are not supported.

Requirements Before You Start

Every device involved must meet all of these conditions, or connections will fail:

  1. The same Citra MMJ build. Multiplayer uses a custom protocol, and even minor version differences can break compatibility. Both players should install the same APK — check the build number in Settings → About on both devices. Grab a fresh copy from our download page if one of you is out of date.
  2. The same game, same version, same region. Both dumps must be identical: same title, same region (USA, EUR, JPN), and the same update version. If one player has update 1.2 installed and the other is on 1.0, the connection will usually desync or refuse to establish.
  3. The same Wi-Fi network. Both devices need to be on the same local network. Phone hotspot works too — one player hosts a hotspot and the other connects to it. Avoid networks with client isolation (common on public/guest Wi-Fi), which blocks devices from seeing each other.
  4. Matching save-safe setup. This is optional, but recommended: for games with in-game progress that matters (Pokémon trades, Mario Kart unlocks), both players should have stable save data. See our save data backup guide if you want to back yours up first.
  5. Decrypted game dumps. Encrypted ROMs won’t even boot solo, so verify both copies load in single-player first. See how to add games to Citra MMJ if you haven’t set your library up yet.

⚠️ Before Proceeding: Test each game in single-player on both devices before attempting multiplayer. A game that stutters or crashes solo will only behave worse with two devices connected — desyncs compound every performance problem.

Step-by-Step Setup

Step 1: Connect both devices to the same Wi-Fi

Double-check both phones show the same network name (SSID). If you’re using a hotspot, have Player 2 join Player 1’s hotspot and confirm the connection is stable before continuing.

Step 2: Update both devices to the same build

On each device: open Citra MMJ → Settings → About and compare the build number and date. If they differ, install the matching build on both phones from our download page.

Step 3: Load the same game version

On each device, load the game and confirm the title and update version match (check the title screen or in-game version indicator). If one copy has a patch the other lacks, install or remove it so both match.

Step 4: One player hosts, the other joins

Citra MMJ’s multiplayer interface lives under Settings → Multiplayer (in some builds it appears as a dedicated button on the main screen).

  1. Player 1 (host): Open the multiplayer menu and tap Host. The emulator will start advertising a room on the local network.
  2. Player 2 (guest): Open the multiplayer menu and tap Browse or Join. Player 1’s device should appear in the room list.
  3. Player 2: Select the host and join. Both devices should show a “connected” status.
  4. Both players: Load the game from the multiplayer menu (not from the main game list). The emulator handles the session setup.

Step 5: Enter multiplayer in-game

Once both emulators are in the session, use the game’s own multiplayer menu — the same way you would on a real 3DS. For example, in Mario Kart 7, both players go to the wireless multiplayer option in the game’s menu.

What Works and What Doesn’t

Realistic expectations save a lot of frustration:

Works well:

  • Mario Kart 7 local wireless races (the most commonly played title)
  • Pokémon X/Y, Omega Ruby/Alpha Sapphire, and Sun/Moon local trades and battles
  • Luigi’s Mansion: Dark Moon ScareScraper co-op
  • Monster Hunter 4 Ultimate / Generations local hunting parties

Doesn’t work / avoid:

  • Online public rooms — Citra MMJ has no room browser or matchmaking
  • Games that require Nintendo’s online servers (shut down April 2024)
  • Download Play for titles with unusual networking (some hang at the “searching” screen)
  • More than 2–4 players — performance and desync risk climb fast with each added device
  • Playing while one device is on battery saver or a different network — both break sessions

Troubleshooting

Devices can’t see each other

This is the most common problem and almost always a network issue:

  • Confirm both devices are on the exact same Wi-Fi network — not one on Wi-Fi and one on mobile data, and not one on the 2.4 GHz and one on the 5 GHz band if your router isolates them (rare, but it happens).
  • Disable any VPN on both devices — VPNs route traffic off the local network and block discovery.
  • If you’re on a hotel, dorm, or office network, client isolation may be enabled. Switch to a phone hotspot instead.
  • Restart both emulators after changing networks. Citra MMJ discovers rooms at startup, so switching networks mid-session often requires a relaunch.

Frequent desyncs or disconnects

Desyncs happen when the two emulated systems drift out of sync — usually a performance problem, not a network one:

  1. Lower the graphics settings on the weaker device. A single device running at 20 FPS while the other runs at 30 FPS will desync regularly. Our low-end Android guide covers the key settings, and the best settings guide is the general reference.
  2. Set both devices to the same internal resolution (1x recommended for multiplayer).
  3. Close background apps on both phones — a notification-heavy phone is a desync-prone phone.
  4. Sit closer to the Wi-Fi router or hotspot. Weak signal = dropped packets = dropped sessions.

Connection works but the game hangs at “searching”

  • Make sure both players entered multiplayer from the emulator’s multiplayer menu, not by booting the game normally and using its wireless option alone. The order matters: connect the emulators first, then use the in-game menu.
  • Verify game versions match exactly (same update/DLC state).
  • Try a different game to isolate whether it’s a title-specific problem. Mario Kart 7 is the safest test case.

One device runs much slower than the other

Multiplayer speed is limited by the slowest device. If one phone is a budget device, match the graphics settings down to its level on both phones. Consistent frame rates on both ends matter more than high frame rates on one.

💡 Tip: For the smoothest sessions, set both phones to the same internal resolution (1x), disable custom textures, and turn on async shader compilation. Multiplayer amplifies every shader stutter, so a warm shader cache (from playing solo first) helps a lot.

Getting the Best Multiplayer Experience

  • Use a hotspot for low latency. One phone hosting a hotspot for the other gives the lowest ping of any local setup — often better than going through a home router.
  • Charge both devices. Low-battery power throttling hits exactly when the session gets intense.
  • Keep both phones cool. Two phones running full-speed 3DS emulation generate real heat. If you run into thermal throttling, our thermal throttling fix guide covers practical fixes.
  • Agree on who’s hosting. The host’s device does slightly more work; give the host role to the more powerful phone when there’s a mismatch.

Local multiplayer is one of Citra MMJ’s best features once it’s set up — a short configuration session buys you real couch-multiplayer 3DS gaming on two phones. If you’re still tuning performance, start with our complete beginner guide and the local wireless basics overview.