How to project a texture/shape to specific part of a mesh?

Hi all, I’d like to project a texture or some shape ( transparent - ring, circle) to a mesh (but to a specific part). For example, in MMORPG games we select/click an enemy or NPC then we see some circle under the character which indicates a selection. That circle changes its shape based on the mesh (height, slope), you can check the following images.

I’d like to do that, but I’m not sure how to do it, perfectly - so far I tried to raycast a mesh and got the vertices normal and applied the rotation but when it comes to more complex part of the mesh this does not work well enough. I think I need to use shaders? Is there any resource I can check?

Screen Shot 2021-10-08 at 11.43.56
Screen Shot 2021-10-08 at 11.44.14

Answered on SO:

1 Like