I don't understand this. First of all, you gotta fix jumping. Sometimes it's a small jump, other times it's normal. Also you fall slowly how do you mess up gravity that is LITERALLY built into Unity. Second of all, why? All I'm doing is just holding right. The different swords don't seem to do anything different. Hope you can improve though.
If it's because you use rigidbody.AddForce() for your horizontal movement, I think you can try something like:
rigidbody.velocity = new Vector2(Mathf.SmoothDamp(rigidbody.velocity.x, Input.GetAxisRaw("Horizontal"), ref walkVelocity, smoothTime), rigidbody.velocity.y);
where smoothTime is the time you want the movement to change and walkVelocity a variable that the function uses to store the acceleration.