private void CreateDistinctSegmentsFromList() { // we don't want to reset the line renderer here, because we are using the same line renderer from the CreateContinuousLineFromList method and we want to keep those points // LineRenderer.Reset(); // generate random start and end points List <Vector3> points = new List <Vector3>(); for (int i = 0; i < 10; i++) { float x = Random.Range(-150.0f, 150.0f); float y = Random.Range(-100.0f, 100.0f); points.Add(new Vector3(x, y, 0.0f)); x = Random.Range(-150.0f, 150.0f); y = Random.Range(-100.0f, 100.0f); points.Add(new Vector3(x, y, 0.0f)); } // animation time per segment - set to 0 to have the whole thing appear at once const float animationTime = 1.0f; // create properties - do this once, before your loop // note you don't need to set the join for distinct segments added via the AddLine or AddLines call FastLineRendererProperties props = new FastLineRendererProperties(); LineRenderer.AddLines(props, points, (FastLineRendererProperties _props) => { // random color props.Color = new Color32((byte)Random.Range(0, 256), (byte)Random.Range(0, 256), (byte)Random.Range(0, 256), byte.MaxValue); // random radius props.Radius = Random.Range(0.25f, 1.0f); // animate this line segment in later props.AddCreationTimeSeconds(animationTime); }, true, true); // must call apply to make changes permanent LineRenderer.Apply(); }