Best way to make procedural and optimized spline roads?

Hey all, been working on some random generation stuff lately and I thought it’s time to start on the roads. My first thought was to do a bp that will spawn a central intersection mesh and then lay connections off that.

Then I realized a spline path would probably be a good way to handle it. There’s plenty of tutorials that explain how to make roads and place meshes along a spline but none deal with actually connections, or making it change meshes depending on the angle between points and such. And none really show how this would be procedurally generated at runtime.

So if I wanted to have the points be randomly dropped in an area and have the connect up, laying down the meshes as it went, and then connecting different paths with differently shaped intersections, but is there a way to have it “detect” an intersection? How would I possibly link up multiple, different spline sections? How do you optimize something like this? Splines can’t use hisms and there are potentially gonna be hundreds of spline meshes, is culling at least supported for this?

What about a bp actor that will drop intersections meshes at random points and then draw splines connecting those up? I’m trying to figure out the best way to gen roads and paths for my world, but procedurally at runtime.

Any help appreciated.