Just gave your favorite iOS / tvOS Side Scroller a little touch up. Added a new property so that buttons can now launch a level with player 1 and player 2 flip-flopped. Normally whoever has the controller designated as that for player 1 will use the sprite named Player1 for that user. So this property… Player1PlaysAsPlayer2 set to YES, when added to your button dictionary will force player 1 to use the Player2 sprite.
So for example, your home screen might have two buttons, each implying a particular player to use (like Press here to Play as Mario / Press here to Play as Luigi ). Both would open the same level, but the Luigi button would include the Player1PlaysAsPlayer2 option.
This works for one or two player games, though in theory, if it was a two player game, the people playing could simply switch controllers to swap who plays which character.