Skip to content

Multiple Controller Support [SYNTH-151]#1436

Open
RoushilS wants to merge 11 commits into
devfrom
roushils/151/multi-controller-support
Open

Multiple Controller Support [SYNTH-151]#1436
RoushilS wants to merge 11 commits into
devfrom
roushils/151/multi-controller-support

Conversation

@RoushilS

Copy link
Copy Markdown
Contributor

Task

SYNTH-151

Allow multiple gamepads to each control individual robots

Symptom

Situation: User wants to simulate full FRC match (six robots) on one computer, not online multiplayer. They discover that Synthesis has a limit of one gamepad, which can only control one robot (theoretically more robots but would be poor ux). They also find that the alternative, having five robots controlled on one keyboard, is infeasible. With this new feature, a computer like a large gaming laptop to a PC with sufficient ports could allow for six controllers.

Solution

Reworked Input and InputSystem's gamepad support to have an array of gamepads that accepts playerSlotss. Additionally updated all used gamepad methods to accept a playerSlot. Updated defaultInputs to also have a playerSlot parameter, and implemented custom scheme logic. In the EditInputInterface, add a simple dropdown for a user to customize gamepad slot, as well as syncing logic. Touched InputSystemTest as it was throwing an error.

Verification

Note

I have one gamepad to lend to testers, and can find one more, so you don't necessarily need a gamepad of your own to test.

  • Multiple gamepads can be used to control different robots
  • Schemes can be customized and created
  • No unintended functionality is introduced
  • Existing gamepad functionality is not harmed

Before merging, ensure the following criteria are met:

  • All acceptance criteria outlined in the ticket are met.
  • Necessary test cases have been added and updated.
  • A feature toggle or safe disable path has been added (if applicable).
  • User-facing polish:
    • Ask: "Is this ready-looking?"
  • Cross-linking between Jira and GitHub:
    • PR links to the relevant Jira issue.
    • Jira ticket has a comment referencing this PR.

@RoushilS RoushilS self-assigned this Jul 22, 2026
@RoushilS
RoushilS marked this pull request as ready for review July 22, 2026 21:00
@RoushilS
RoushilS requested review from a team as code owners July 22, 2026 21:00
@RoushilS RoushilS changed the title Multiple Controller Support Multiple Controller Support [SYNTH-151] Jul 22, 2026
@PepperLola PepperLola added ui/ux Relating to user interface, or in general, user experience gameplay Relating to the playability of Synthesis labels Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gameplay Relating to the playability of Synthesis ui/ux Relating to user interface, or in general, user experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants