After screaming at gamepads all day, I think you can play two-player with two gamepads now??
Unity can't intuitively know which controller is for which player, so I put in ways to figure that out. It assumes the first gamepad input after launching is Player 1, and when you start two-player mode without it knowing what controller is Player 2's, it opens a calibrator asking each player to press a button to figure it out. (It also figures it out when you set up controls for each player.) If a controller gets unplugged or something, you can also recalibrate from the pause menu.
It recognizes the two types of gamepad I have (a 360 controller and a Logitech one), provides better button names for them, and uses its knowledge of what the input axes actually represent to improve controls for them (mostly prioritizing pure left/right/up/down inputs over diagonals, except for cases like Brooke's quick selector). If you have two different gamepads plugged in at once, however, Unity has no actual way to know which is which, because it's really good like that, so I let the user manually switch between the types.
Anyway, it probably all works now, but I'd appreciate if anybody could do what they can to test it further. Also, apparently the button mapping for the 360 controller differs between platforms, so if anyone has a 360 controller and a Mac, check that I got them correct. (There shouldn't be input problems, only incorrect button names, but everything else has been extremely flaky so who knows.)
EDIT: Fixed a bug that came up when configuring keyboard controls, and added the two-player warning for when keyboard controls overlap. I'm really done with that stuff now, I think!