Skip to content

About

Wireless iPhone and Android controller for Just Dance and motion games (not tested yet) on Mac and Windows.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Motion Air

Use your Android phone or iPhone as a wireless controller for motion games on a Mac or Windows PC.

The local 0.3.0 update adds up to six phones with separate Joy-Cons for Just Dance. It requires updated phone apps, bridge and emulator; see multiplayer setup. This update is not yet published to the download links.

Download Motion Air · Screenshots · Setup instructions · Leer en español

Report a problem · Send feedback · Contribute

Ask the community · Create an implementation task

Motion Air is still being tested. Buttons and motion delivery have automated checks; reliable Just Dance scoring needs testing with a real phone and game.

Screenshots

See the iPhone and Android apps below. Click any screenshot to open it at full size.

iPhone screenshots

Captured on an iPhone 16 Pro in dark mode.

Welcome guide Choose or pair a computer Controller before connecting
iPhone welcome guide iPhone Your Mac screen with saved computers and Pair a Mac iPhone controller with dimmed controls before connecting

Android screenshots

Welcome guide Connect your computer Controller before pairing
Android welcome guide Android pairing screen Android controller before pairing

If the pictures are missing in Android Studio, view this guide on GitHub. More screenshots appear in the setup steps below.

What you need

  • An Android phone running Android 8 or later, or an iPhone running iOS 17 or later.
  • A Mac with macOS 14 or later, or a 64-bit Windows 10/11 PC, connected to the same Wi-Fi as your phone. Windows PCs with an ARM processor need Windows 11.
  • Internet access for the first computer setup. The launcher installs Node.js and Motion Air's dependencies for you.
  • Your emulator and game, already installed. Just Dance needs the motion-capable Ryujinx build. The regular keyboard controller setup alone will not enable motion. Follow the Mac setup guide or Windows setup guide for that one-time setup.

Games, emulator downloads, firmware and game keys are not included.

1. Download the right files

Use these links to download the latest apps. You can also find them under Assets on the release page.

For Download
Your Mac or Windows PC Download for your computer
Your Android phone Download Android APK
Your iPhone Download iPhone IPA

You need the computer ZIP and one phone app. You can ignore the other files. Sign in to GitHub if the repository asks you to; downloads from this private repository require access.

2. Install the phone app

Android

  1. Download the APK on your phone, then open it from Downloads.
  2. If Android asks, allow your browser or file manager to install unknown apps for this installation.
  3. Tap Install, then open Motion Air.

iPhone

The iPhone download needs sideloading: a computer tool signs the app with your Apple account and installs it on your phone. Tapping the IPA on the iPhone will not install it.

  1. Set up your preferred sideloading tool, such as AltStore Classic or Sideloadly, using its own installation guide.
  2. Connect and unlock the iPhone, trust the computer when asked, and select that phone in your tool. Import MotionAir-iPhone-unsigned.ipa and follow the signing and installation steps. If you downloaded an Actions artifact ZIP, extract it first to find the IPA.
  3. Enable Settings → Privacy & Security → Developer Mode, restart, and confirm on the iPhone. If the setting is missing, follow Apple's device-pairing instructions.
  4. If Untrusted Developer appears, open Settings → General → VPN & Device Management and trust the account you used to sign the app. This is separate from Developer Mode.
  5. Open Motion Air on your iPhone. Allow Local Network access when asked.

The unsigned download is intentional: your tool adds a signature and provisioning profile for your account and phone. A free Apple account can be used, but its provisioning profiles expire after 7 days, so the app needs refreshing. An app signed for one phone is not automatically authorized for another. See Apple's free-account limits and iPhone installation details.

iPhone signing and installation help

If Sideloadly stops at Obtaining team ID with Invalid file, the log places the failure at the Apple signing-team lookup. That message alone does not establish that the IPA is corrupt or that Developer Mode caused the failure. Account/session handling and the network still need checking. Save the log with account details removed; compare one retry on another internet connection, keeping the same IPA and account. Switching Local/Remote Anisette is a diagnostic, not a guaranteed fix.

On a Mac with Xcode, the direct iPhone installation steps provide a fallback: build the app from this repository using your own team and selected iPhone. This bypasses Sideloadly but still requires Apple signing, Developer Mode and renewal. It does not diagnose or repair the Sideloadly error. Our current download is not a TestFlight or App Store release.

Both apps open with three short lessons. Tap Let's try it to practice the stick, A and B without connecting to a computer. These iPhone screenshots show the lessons in order:

1. Welcome 2. Try the controls 3. Learn about movement
iPhone welcome screen with Let's try it iPhone practice screen with a stick and A and B buttons iPhone motion lesson with Try Dance Lock and Choose my Mac

3. Start Motion Air on your computer

  1. Extract the whole computer ZIP into a folder you can write to, such as Documents. On Windows, choose Extract All before opening the launcher.
  2. Open that folder and double-click:
    • Mac: Motion Air.command
    • Windows: Motion Air.cmd
  3. Wait for setup to finish. The launcher downloads the runtime for your computer and installs the required packages automatically. After your emulator setup is ready, Capture Studio opens. Use Phones there to show the pairing QR code and manage saved players.
  4. Keep the launcher's Terminal or command window open while playing.

On Mac, allow Terminal under System Settings → Privacy & Security → Accessibility so the phone's buttons can control the game. The Mac guide explains the emulator setup; the Windows guide explains selecting your Ryujinx.exe.

You do not need to install Node.js, npm or a package manager yourself. Setup uses the Motion Air folder and does not need an administrator account. Later launches reuse the downloaded files; an update installs any changed dependencies. If a download fails, check your internet connection and open the same launcher again.

Keep the launcher inside its extracted folder. You can make a shortcut or Finder alias if you want it on your Desktop. The automatic setup covers Motion Air's computer bridge; your emulator and game still need the separate setup linked above. More about automatic setup.

4. Connect your phone

  1. Keep your phone and computer on the same Wi-Fi. Avoid a guest network.
  2. Open Motion Air on your phone. Follow the short welcome guide, then choose Pair my computer on Android or Pair my Mac on iPhone. If you already have a saved Mac, the iPhone button says Choose my Mac. If you skipped the guide, use the blue pairing button at the bottom.
  3. Scan the QR shown on the computer. Allow camera access if asked.
  4. Check the computer name, then confirm the connection.
  5. Click the game window on your computer. Try the phone's buttons.

On Android, choose Scan computer QR. On iPhone, choose Pair a Mac → Scan Mac QR code, or tap a saved Mac to reconnect. If you cannot use the camera, use Paste pairing code; on iPhone, tap Review code, then Pair and connect.

iPhone: choose or pair a Mac Android: scan or paste a code
iPhone Your Mac screen with Saved Macs and Pair a Mac Android pairing screen with Scan computer QR and Paste pairing code

The main controller's stick and buttons stay dimmed until you connect. To practice without a computer, reopen the welcome guide: Settings → Show welcome guide → Let's try it on Android, or Controller settings → Take the welcome tour → Let's try it on iPhone. On iPhone, scroll down in settings to find the tour.

Where to find the welcome tour on iPhone

Tap the sliders button at the top right of the controller. Scroll down past the connection details, then tap Take the welcome tour.

Open Controller settings Scroll down to the welcome tour
iPhone Controller settings with haptic feedback and connection details Lower iPhone settings with Take the welcome tour

You only need to scan the QR the first time. Later, select your saved computer. If its address changes and reconnecting fails, scan a fresh QR.

5. Turn on movement

  1. Open your game using the motion-capable emulator setup.
  2. On your phone, tap Enable Motion.
  3. Hold the phone securely in your right hand, upright with the top toward your fingertips.
  4. Tap Dance Lock to avoid accidental button presses. Hold the unlock button to return to the controls; on iPhone, it says Hold to unlock controls.

Keep Motion Air open on your phone. Switching to another app or locking the screen stops the connection. After reconnecting, tap Enable Motion again.

Dance Lock hides the game controls. Sending motion means the computer's motion receiver is getting your movements; it does not guarantee a score in the game. The screenshot below shows Dance Lock on Android.

Android Dance Lock screen showing Sending motion and a Hold to unlock button

6. Broadcast scores and record the dance

The launcher opens Capture Studio directly. Then:

  1. Choose Game Window and select only the Ryujinx window.
  2. Leave Automatic on. Capture Studio confirms the song title across repeated reads, infers the player count from the aligned score row, and broadcasts each player's visible score.
  3. Add the webcam only if you want it in the recording. Browser camera access never starts automatically.
  4. After a title is confirmed, recording starts automatically. Two matching results-screen reads end the song, stop the recording, and save it. The next confirmed title resets the session.
  5. Use the session remote in Dance Lock on any connected phone to correct the title or player count, include an already-authorized webcam, start/stop recording, or end/reset the song.

Capture Studio uses Apple Vision on the Mac. It does not receive private score events from Just Dance, so text that is hidden, animated, obstructed or misread is shown as stale or low-confidence instead of being treated as confirmed. macOS still requires the person at the Mac to choose the game window and grant optional camera access once; a phone cannot approve those system permission sheets. The webcam image and video stay on the computer and are never sent to the phones.

Something isn't working

Problem Try this
My phone cannot connect Use the same Wi-Fi, keep the computer launcher open, and scan a fresh QR. On iPhone, check Motion Air's Local Network permission. Guest Wi-Fi may block connections between devices.
The stick or buttons do nothing Pair the phone first, then click the game window. On Mac, check Terminal's Accessibility permission.
Connected, but movement does nothing Tap Enable Motion. Check that the motion-capable emulator is running. A connected phone still needs a game listening for motion.
Movement stopped after I left the app Reopen Motion Air, reconnect, and enable motion again.
Android says the update cannot install Use the APK from the newest release. An older development app may use a different signing key. See Android updates.
The iPhone app will not open Check whether your sideloading tool needs to refresh or re-sign it.
First-time setup failed Extract the whole ZIP to Documents, check your internet connection, and open the launcher again. If it still asks you to install Node.js yourself, download the latest computer ZIP.

More help: connection troubleshooting · motion testing status

Feedback and contributions

You can help without writing code. Tell us what worked, report a confusing screen, improve a translation, or suggest a feature. The forms accept English or Spanish.

For questions or open ideas, use Discussions. For a defined change, use the implementation task form. See the contributor and agent workflow.

Sign in to GitHub with access to this private repository. Issues and discussions appear under your account. Keep pairing codes, QR codes and passwords out of attachments.

For developers

Build and test the apps · Publish both apps · Other controller options

Credits

Motion Air is based on Joypad Air by David García (mindavidev). This independent continuation retains the original MIT copyright and license. See acknowledgements and license.

About

Wireless iPhone and Android controller for Just Dance and motion games (not tested yet) on Mac and Windows.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages