Decal on a curved surface

I need to place a sticker on a curved object. I was thinking of using projectors, but it projects through the mesh onto the other side. I was also thinking of using a “bullet” decal, but it is just a flat plane. I need to place the sticker dynamically, so it has to follow the contours of the object. Can I do this with a custom shader? Any ideas?

Try Unity Asset Store - The Best Assets for Game Making

I know for sure that Unity Asset Store - The Best Assets for Game Making does it, but it’s not free. There used to be a free version but i can’t find it in the store.

One technique is to calculate which triangles of your mesh are intersected by the decal projection, duplicate them to a new mesh, and then calculate the decal UVs on the new mesh from the projection.

There’s a great article here describing how to do it: