UV project from face normals

Is there a way to project UVs from each face normal ?
I tried marking seams on every edge and unwrap but complex ngons get messy UVs, while when I project the same ngons from view it works. But I can’t do that on every face.
(also minimize stretch doesn’t change anything)

Is there a solution ?

Please supply example and clearly show what you want to see

I found the solution and feel stupid. But here it is. This concave ngon face gets this ugly UV when you hit unwrap :

To have each face projected from their normal, I did a smart UV project (still with seams on every edge). I mean it’s like in the name of the operation, how did I miss that?

I was doing this for lightmapping because I don’t like Blender’s Lightmap Packing. It deforms almost everything to get rectangle island bounding boxes or I don’t know what. Look at this horror :