public void GenerateRoadMesh(List <Vector3> evenPoints, string name, bool closedLoop) { //var roadInfo = GenerateTangentPointsFromPath(evenPoints, extrude, edgeWidth, thickness); if (name == "bottom") { firstRoad = evenPoints; } else if (name == "right") { secondRoad = evenPoints; } //Mesh mesh = MeshMaker.RoadMeshAlongPath(roadInfo.roadVerticies, name, closedLoop); //Make the road template... just 2 points on either side of the center point List <TemplatePoint> template = new List <TemplatePoint>(); template.Add(new TemplatePoint(new Vector2(extrude / 2, 0), 0)); template.Add(new TemplatePoint(new Vector2(-extrude / 2, 0), 1)); Mesh mesh = MeshMaker.ExtrudeShapeAlongPath(evenPoints, template, "road", closedLoop, false); //GetComponent<MeshFilter>().sharedMesh = mesh; //GetComponent<MeshCollider>().sharedMesh = mesh; DestroyImmediate(GameObject.Find(name)); GameObject road = new GameObject(name); road.transform.SetParent(transform); road.transform.position = transform.position; road.AddComponent <MeshFilter>().sharedMesh = mesh; road.AddComponent <MeshCollider>().sharedMesh = mesh; MeshRenderer rend = road.AddComponent <MeshRenderer>(); Material material = (Material)Resources.Load("URP Shaders/Shader Graphs_road", typeof(Material)); rend.sharedMaterial = material; rend.sharedMaterial.color = Color.white; if (drawEdges) { // DrawInner(roadInfo.innerVerticies, closedLoop); // DrawOuter(roadInfo.outerVerticies, closedLoop); } }