There's a cool idea in there, I think the game just needs more time to really shine.
Everyone has already pointed out the problems with the movement and the collision, so here's some practical tips on how I'd fix it:
- For the colliders, you'll be best off using a CompositeCollider. That then prevents the player getting stuck on the seams between colliders, which appears to be what's happening here.
- For the movement, make sure you're using a Rigidbody2D, and using the velocity on that for movment. personally, I like to manually set the X velocity to the horizontal input * moveSpeed, with the Y velocity left as is. For jumping, you then just use Rigidbody2D.AddForce(). Make sure the rigidbody's gravity scale is quit high, but then your jump force is too - you'll get a nice snappy jump!
- You could also have the camera interpolate towards it's target using Vector2.Lerp(), and this would not only make it feel a lot smoother, but also make the transition between characters really nice!
These aren't hard to do, but it'll really make the overall experience much cleaner!
I don't want to be pessimistic, because the idea is cool, and it's an achievement to make anything in 48 hours! Definitely keep going with this, I'd love to see it polished up a bit :)
このゲームでありがとう