Cannot detect edge collider

I have created a character that can jump when it is on the ground. It detects the ground using “OverLapCircle()”
When the ground is plain and straight, everything is ok. But when it has another shape, the character cannot detect it.

(The green line is an edge collider)
Do anyone know what’s the problem?

Thank you very much!

Try using Physics.Raycast for grounding and also for detecting edge, then, use match target to ensure a good climbing.