Alien, thank you for giving the script a go, very much appreciated.
I have been doing the late shift at work so not had chance to play since, but will have another go during the week. I did pop a debug in, and as you say the problem seems to be coming from the isGrounded statement.
Leslie, thanks for the performance tip, definitely one to remember
I did kind of know about not using a rigidbody with a character controller, and really only tried it out of desperation as I was getting a bit frustrated at not being able to get it work. Sometimes you try anything in the hope LOL
I did check the collider wasn't touching the ground and I even adjusted it to above the ground in case the problem was stemming from that.
Handy to know about the isGrounded not working correctly. I will maybe look at an alternate way such as a bool to see if the player is in the air maybe, similar to your wasGrounded variable?
Thank you both very much for the info and pointers