There are several things going on here.
In general, to unwrap for lightmaps, the recommendation is not to make very big meshes, meaning meshes with many individual parts like your building. The only way to get decent lighting in such a scenario is to make huge lightmaps (ie 2048x2048 or even higher). Your build times in Unreal, as well as in-game memory use, will suffer.
A second thing to keep note of, is that you should always try to unwrap keeping as many parts together as possible. You seem to have created seams on all edges - this is a terrible idea for lightmaps: In the game engine, there needs to be a gap between every island (to make sure no light leaks from one island to the other). That gap will will shrink when you use higher resolution lightmaps, but it will create bad results:
- you will see a seam on the surface where the edge is
- with many individual islands, there will be much unused space in between the islands
- with many individual islands, often they don't fit on the lightmap unless you make it very high resolution
A third thing, looking at your unwrapped image, is that it seems not everything is unwrapping properly. But it's difficult to see with so many elements on one object. Are you unwrapping with U->Unwrap?
What I would try first in this case is to unwrap with U->Smart UV Project, and set the 'island margin' to 0.5. This often gets decent results, if you're not unwrapping rounded objects (since it splits the faces based on the angle they share).
When I would consider splitting the object into smaller parts. How many, depends a lot on your scenario: will you create this house 100 times in one map? Or only once? If you're splitting the object, try to do so along the separation of materials. Separate out the roof and the road, for example. This way you don't create additional draw calls as a result of your split (the engine doesn't have to look up the roof material twice etc).
When preparing for painting, accurate unwrapping gets more important. You might have to spend time manually unwrapping the whole thing, to keep as many parts together as possible. The biggest difference with the lightmap scenario above, is that lightmaps don't suffer from seams on sharp angles, while for painting you might want to keep individual parts together - but the only way to do that I know is manually selecting edges and creating seams. Anyhow, for a complicated mesh such as yours, accurate unwrapping becomes one of the biggest headaches.