Skip to content

Multiple Controllers

Assigning Controllers During Netplay

Request Device

Request Device is an advanced network option used for NetPlay, that allows each RetroArch instance to request which device(s)/controller(s) to control. This, for example, enables four players from two instances of RetroArch, or for a connecting client to request the player 1 controller from the host. To make this option visible, RetroArch must have Show Advanced Settings set to ON.

Turning on Show Advanced Settings

  • Navigate to Settings
  • Navigate to User Interface
  • Toggle Show Advanced Settings to ON

Once Show Advanced Settings is on, proceed to the Network configurations in the Settings menu (NetPlay menu also has a path to Network configurations). Scroll down through Network configuration, and the advanced configuration options are now visible. Request Device # (where # is any number from 1 to 16) options will allow the computer to control any number of controllers during NetPlay.

Example Setup: Step-by-Step Guide

The following example of Super Bomberman 2 on the SNES will be used to demonstrate four players using two computers. The host will be controlling players 1 and 3, and the client will be controlling players 2 and 4.

On the Host

Configure Host's Input Devices

Set up Input Devices while the game is loaded:

  • Connect two controllers
  • Start SNES Super Bomberman 2 game
  • Set Inputs for each controller 1 and 2:
  • Navigate to Settings
  • Navigate to Inputs
  • Navigate to Port 1 Binds
  • Ensure Device Index is set to *Controller Name 1
  • Return to Inputs configuration menu
  • Navigate to Port 2 Binds
  • Ensure Device Index is set to *Controller Name 2
  • Set Device Type to MultiTap

    • MultiTap is only available when SNES core is loaded. This plugs in a virtual SNES MultiTap into the SNES so more than two controllers can connect to the SNES.

    * Controller Name 1 and 2 are unique to the computer and to the controllers connected to it (e.g., PS4 controller shows as "Wireless Controller #1")

Configure Host's Requested Devices

Set host computer's RetroArch NetPlay to request control of the running core's devices/controllers:

  • Navigate to Settings -or- NetPlay
  • Navigate to Network
  • Set Request Device 1 to YES
  • Set Request Device 3 to YES
  • Ensure all other Request Device # are set to NO

Host is now able to start a NetPlay game controlling controllers 1 and 3. See Getting Started Guide for more details.

Screenshot

Client

Configure Client's Input Devices

Set up Input Devices while the game is loaded:

  • Connect two controllers
  • Start SNES Super Bomberman 2 game
  • Set Inputs for each controller 1 and 2:
  • Navigate to Settings
  • Navigate to Inputs
  • Navigate to Port 1 Binds
  • Ensure Device Index is set to *Controller Name 1
  • Return to Inputs configuration menu
  • Navigate to Port 2 Binds
  • Ensure Device Index is set to *Controller Name 2

    * Controller Name 1 and 2 are unique to the computer and to the controllers connected to it (e.g., PS4 controller shows as "Wireless Controller #1")

Configure Client's Requested Devices

Set client computer's RetroArch Netplay to request control of the running core's devices/controllers:

  • Navigate to Settings -or- Netplay
  • Navigate to Network
  • Set Request Device 2 to YES
  • Set Request Device 3 to YES
  • Ensure all other Request Device # are set to NO

Client is now able to join the Host in a NetPlay game controlling controllers 2 and 4. See the Getting Started Guide for more details.

Screenshot

Warning

RetroArch Network typically has all Request Device # set to NO. When all Request Device # are set to NO, this allows NetPlay to automatically set host as device/controller 1. When the client connects to the host, the client will connect to device/controller 2 for the NetPlay session. Each subsequent client that connects will continue connect to the next available device/controller. For this automatic client-to-controller assignment in a RetroArch NetPlay session to work, all Request Device # settings must be set to NO. If any connecting clients request a device, automatic assignment is disabled for everyone and all clients must request a device via the settings menu.