Deffered Decals vs Vertex Painting

Honestly, I would recommend both. Because they both have places where they shine and places where they fall short. I think one of the best examples of this is how much area of the mesh is it covering? If it’s some occasional leaking or graffiti, you’ll likely be better off using a decal, because vertex painting requires a sizeably larger amount of instructions for such a finite area. However, if it’s for covering the entire roof of a building with snow, you’ll likely want to use vertex paint, as decals’ performance hit is directly proportional to the amount of pixels it’s covering, a caveat it shares with particle systems.

Another thing you might want to take a look at is using vertex painting in conjunction with the UE4’s relatively new “Merge Actors” options. One of the coolest things about it is that when merging multiple static meshes, you are given the option to merge all of their textures into a new one, but there’s another option that when enabled will store any vertex paint data on the meshes being merged and bake it into the previously mentioned texture atlas. In my tests, it’s a win on pretty much every front. Less draw cells, fewer texture fetches, and you can still keep the custom vertex paint data without the performance cost.

But like I said before, you should be using both. Never limit yourself to a single method of achieving something just because it appears more appealing in that moment. The best artists always consider all their options for different scenarios (: