How to make one game object follow another?

I’m making a game where you are in a car and other cars can follow your car. If I use a simple script where the car faces your car and just moves forward, that car will go through buildings and stuff and not follow the road. How can I make it so the car follows your car without going off the road?

I would experiment with an idea to where you car every X amount of seconds, I would start small like .5 seconds, drops a way point behind it. And rather than the AI car following your car it follows that way point. And if you have another car following that car just make the second car drop way points. Just make sure they destroy the way points after reaching them.