Ashley - Thanks for the reply, I will try and explain in more detail.
When working with a local "couch co-op" type game with 4 players, it seems like the easiest solution right now to support setting up a reusable input system for all 4 players is to create a master group that listens for whatever button is being pressed, for all 4 inputs then passing it to another function that picks the related player and initiates that players attack etc.
For example:
On gamepad 0 button A pressed -> call function "Jump" ("0")
Function "Jump"
Pick by evaluate player = function.param(0) -> Jump
But this now means that you need create 4x the number of input checks * the number of buttons on the controller
So i was thinking perhaps if there was some way of being able to read which gamepad initiated the button press you could replace all of that with...
On Any gamepad button A pressed - Call function "Jump" ("Gamepad Number that initiated that input")
Function "Jump"
Pick player function.param(0) -> Jump
Thus only having the 16 events at the beginning setting up what every button on your controller does.
But there's also probably another awesome way of doing it that I've never though of.
How would you approach handling all inputs for a 4 player "couch co-op" type input system?
Thanks for all of your help!