Unity makes it both easy and hard. It's kinda weird. When it works, i works very well, but figuring it out is weird.
I've been thinking about how to handle more players in the game so instead of programming the game the "easy way" (by cloning the player object and copy/pasting the same events while changing the objects) I'm going to do it the right way - having the same player object with different animations depending on which player it is. This way I can have the same events for all players, and if I want to add more players later (maybe 4-player co-op) it won't limit me.
It shouldn't be too hard. I'll use a variable to store the player's controls and store the keycodes on a TokenAt.