Maybe try using raycast at the bottom of the player?
Well, I haven't try that before. But it could be a solution, thanks!