A sidenote: you maybe need to add a pivot right between the feet of the characater to check if he collided with the ground. Checking for ground contact with the entire mesh or the shoes is not a good idea since it/they can touch walls as well, so you would allow him to climb up walls as if he was standing on the ground. Using a pivot between the feet, with an EntityRadius that is big enough to detect the ground and ONLY the ground can fix this.
An other solution is to use a linepick against the ground.
An other solution is to use a linepick against the ground.