Check out this video on better jumps for platformers -
=> OnCollisionExit with floor -> IEnumerator - yield for seconds (0.2) -> If jumping is == false then set jumping to true.
(within those 0.2 seconds of airtime, if player hasn't jumped, then still give them the chance to jump)