Accessing mesh faces in the game engine

This is a kind of game engine related question but more pythony.
Is there a way to access the face index at a location. Kind of like the collision with material but without needing a material. I need to get the face the charecter is currently located on. I think i could do it with a ray cast but this seems a waste of resources if the same can be achieved from collision, or location.
Thanks in advance.

Can nobody help? I can’t even see how to do it with rays now though i could have sworn you could. Using locations won’t work unless I convert the local face positions to global positions then check whether character is in that specific area.
All I need to know is the face the character is located on or directly above, it seems mad for there not to be some kind of function that does this.