Art by Kenney: https://www.kenney.nl/assets/pixel-shmup
Preorder my small book: https://www.amazon.com/dp/B09HW8H1CY
Normally you would define an individual set of actions for each possible controller, but there is a specific method that lets you watch for actions as well as devices, so you can programmatically track each player id and use that.
This method should work well for general movement, and you can use the input map to add more robust, player-specific actions.
The input map might also be more appropriate if you want to let the player change button mapping.
Thanks for watching!