Blending urban textures on custom meshes

Hello, I have a large road network that I’m trying to model and texture in Unreal, and I’m looking to improve the current look to make it more realistic. I’ve attached a couple of images showing the area I’m trying to cover. My main aim is to get rid of the hard lines between different textures, and I’m trying to figure out the best way to go about that.

I’ve currently modeled a plane for the road surface, and then created separate, very simple meshes for the kerbstones and the raised pavement areas, and assigned a different material to each, based on custom made materials created in Substance Designer. These materials all tile across large areas.

The road network is taken from a real-world location and so there are quite a lot of irregular-shaped pavements, meaning that it’s hard to break down into smaller, modular assets. If I was creating modular assets, or just trying to get a smaller area of road/pavement, I’d model higher-res geometry that combined the pavement, kerbstones and road, and then create detailed textures in Substance Painter, including lots of grunge between different elements to break them up seamlessly. However, for a unique road layout this big, that seems impractical.

I’ve also considered going down this route: Tutorial: UE4 Parallax Occlusion Mapping with Vertex-Blending - YouTube but I don’t think (correct me if I’m wrong) that it works on custom meshes. It also doesn’t look like it’ll provide the fine level of control I need. There’s this tool, but I haven’t tried it yet: [Unreal 4] Terrain Blending Tool (inspired by Star Wars: Battlefront) — polycount

I’ve had this issue before (a while ago), trying to get rid of the hard lines between a brick wall of a house and the street. In that scenario, it was a single house and I just created a transparent “grunge mesh” to solve the issue, but what would be the best method of getting what I want here?

Hope this makes sense.