#Creating Apex Legends like button presets in the new input system?

1 messages · Page 1 of 1 (latest)

rain rain
#

In games like Apex Legends (and various other games) you are able to switch between various button layouts that change the predefined configurations for which buttons map to which controls in game (see image attached).

I'm trying to figure out the best way to do this with the new input system. It appears to me that likely the best way to do this is by creating a new control scheme and mapping things this way. So for example if I was continuing the Apex Legends example I might have the following control schemes in the new input system.

  • Controller - Default
  • Controller - Bumper Jumper
  • Controller - Evolved
  • Controller - Ninja

So my first question is, is this the correct approach, or is there a better / more appropriate way to handle this situation?

As a follow up question, if this is indeed the correct approach, what would be the best way to swap between these control schemes using the auto generate C# wrapper class? To possibly answer my own question here, it looks like setting the binding mask might be the best way to handle this but I'm not entirely sure.

simpleControls = new SimpleControls();
simpleControls.bindingMask = new InputBinding { groups = "Controller - Evolved" };

Additionally we would likely need to save and load the player selected control scheme as well. What would be the best way to do this? If my assumption is correct then saving the controller preference would likely be as simple as saving and loading the control scheme name to / from the binding mask. Is this correct or would I run into issues doing things this way?

Ultimately I'm just hoping to gain some understanding / guidance on how to approach this.

Thanks for any help in advance!