Controls

How to connect an Xbox controller to Android for Remote Play

Connect a compatible Xbox controller to your phone or tablet through Bluetooth settings or USB. Then check sticks, triggers and buttons in a Remote Play session.

XBPlayer teamPublished Updated 5 min
On this page

To connect an Xbox controller to Android, turn on the controller, hold the Pair button for about three seconds, and select it in the phone’s Bluetooth settings. This method applies to models with Bluetooth. A wired connection is possible if both the controller and Android device support it; you need a data cable. To play through XBPlayer, connect the controller to the phone or tablet on which you watch the stream.

Check compatibility before connecting

A wireless Xbox connection does not mean a controller has Bluetooth. For example, the standard Xbox Series X|S controller supports it, while some Xbox One controllers do not. Identify the model from the marking on the case or under the battery cover, then consult Microsoft’s guide.

ControllerBluetoothWired connection
Series X|S-generation Xbox Wireless Controller, with a Share buttonSupported on compatible Android devices.USB-C with a data cable; the Android device must also support a wired controller.
Xbox Elite Wireless Controller Series 2Supported on compatible Android devices.USB-C with a data cable; check compatibility of the complete setup separately.

These examples come from the specifications for the Xbox Wireless Controller, the USB-C cable bundle and Elite Series 2. They do not mean every phone has been tested in XBPlayer. Do not group early Xbox One controllers by appearance alone: identify the exact model first.

Inspect the factory label on the back; on models with a removable battery cover, the marking may be underneath it. Record the Model field, not the serial number. There is no need to disassemble the case. If the marking is unreadable, match the device to the manufacturer’s guide before buying a cable or adapter.

For Bluetooth, charge the battery or fit working batteries. Place the controller near the phone. If it connects to another device, temporarily disconnect that link and enter pairing mode. For USB, check wired-controller support in the phone’s documentation first: Microsoft warns that some Android device manufacturers restrict this connection.

We will check the result in Remote Play. You need XBPlayer, an Xbox account and your own console with remote features enabled. If streaming is not set up yet, use the first Android session guide.

Pair over Bluetooth

  1. Turn on the controller with the Xbox button.
  2. Press the Pair button on the top of the controller, hold it for about three seconds, then release it.
  3. On Android, open Bluetooth settings and add a new device. In the standard Android interface, this is “Connected devices” → “Pair new device”; names depend on the manufacturer and system version.
  4. Select Xbox Wireless Controller from the available devices and confirm pairing if prompted.
  5. Wait until the controller appears among connected devices.

If the controller is already in the saved-device list, try connecting from there first. “Connected” confirms a link to Android, but you still need to check game commands separately. A controller operating the console directly does not confirm that it is connected to the phone.

Connect the controller with a USB cable

Choose a cable that matches the controller’s connector and the phone’s port. It must carry data: power or an illuminated indicator does not prove that commands are being transmitted. Use a compatible USB peripheral adapter if needed; the phone must support USB host mode.

For the first test, connect the controller directly without a hub. If you previously used Bluetooth, temporarily disconnect that Bluetooth link so you test the cable specifically. Leave the cable slack, without pulling on the phone’s port. If there is no input, try a known-working data cable and check wired-controller support with the device manufacturer. See Bluetooth or USB for Remote Play for connection choices.

Check buttons and sticks in XBPlayer

Open XBPlayer, connect to your console through Remote Play and launch a familiar game. Choose a quiet scene with clear command functions. Run the first check with default button mappings; if you use a custom profile, save it before switching temporarily.

To check whether commands are received before connecting to the Xbox, open “Settings → Controls → Controller profile” and “Live virtual gamepad”. Pressed buttons and axis values should change; then check the same commands in the game. This panel working does not by itself confirm delivery to the console.

  • Move both sticks in every direction and release them: character or camera movement should stop if that is how the game’s controls work.
  • Test the D-pad and A, B, X and Y individually.
  • Test bumpers, triggers and stick clicks in actions where the game uses them.
  • Open the pause menu and return to the game.
  • Try a combination, such as moving while jumping.

No action says nothing about a button if it has no command in that scene. If commands work correctly but the layout is uncomfortable, go to button remapping. If Android sees the controller but the game does not respond, use the Remote Play input delivery checks.

What to do if the controller will not connect

  1. Recheck power, Bluetooth support for the model and pairing mode. Make sure the controller has not connected to another device.
  2. Turn the controller off and on, then do the same for Bluetooth on the phone. Try pairing once near the phone.
  3. If the old Bluetooth pairing will not reconnect, remove only this controller’s entry from Android’s saved devices and pair it again.
  4. If the problem persists or buttons send incorrect commands, check for a firmware update using Microsoft’s instructions. Use an Xbox console or Xbox Accessories on Windows 10/11; on a computer, you can connect the controller with a data cable to update it. Updating over Bluetooth is not supported. Do not disconnect the cable during installation.

After a successful check, save your game progress and test controller reconnection. For Bluetooth, turn it off and on again; for USB, unplug and reconnect the cable. Repeat a few game commands to check that input returns.

Your checklist

Three outcomes before normal play

After connecting, check the result using your chosen method—Bluetooth or USB. You do not need to test both.

Commands go through the intended Android device

For Bluetooth, check the current connection on the device running XBPlayer. For USB, temporarily disconnect the previous Bluetooth link and test input through the cable. Controlling the Xbox directly does not confirm this item.

Commands and the required combination have been checked

In a suitable scene, check both sticks, the D-pad, buttons, bumpers, triggers and stick clicks. Then perform a combination from your game. Check only actions assigned to those controls in the current scene.

Android sees the controller, but Xbox Remote Play does not respond →

Controls return after reconnection

Wait for the game to save progress. For Bluetooth, turn the controller off and on; for USB, disconnect and reconnect the cable. Repeat movement and a known action.

Contact the XBPlayer team

Subject: XBPlayer: question about article 56
Article: How to connect an Xbox controller to Android for Remote Play

To: hi@hetko.eu

Your email app will open with the subject, article link and message. Review the email and send it there. Save your text before reloading this page if you want to keep it.

Do not include passwords, sign-in codes, tokens or authorization QR codes.

This form does not send a message from the website. You send the email from your own email app.

A connection to Android does not confirm every button works. Ticks reflect your checks on this device combination and in this game.

Sources and further reading

Get the key points

Open a summary request with this article’s link. For Gemini, the request is copied — paste it into the chat.

Summarize with ChatGPTCopy for GeminiSummarize with ClaudeSummarize with Grok

Copy the request manually