i think it may be because of the roof being made of the same object as the ground so it may be resting the jump bool when it hits the roof but i dont know how unity works!
Yep thats why whoops xD