protected void OnEnable()
        {
            if (LineMaterial == null)
            {
                Debug.LogError("Line material cannot be null.");
                enabled = false;
                return;
            }

            lineMatInstance = new Material(LineMaterial);

            // Create a mesh
            if (stripMesh == null)
            {
                stripMesh = new Mesh();
            }

            if (stripMeshRenderer == null)
            {
                meshRendererGameObject = new GameObject("Strip Mesh Renderer");
                stripMeshRenderer      = meshRendererGameObject.AddComponent <MeshRenderer>();
            }

            stripMeshRenderer.sharedMaterial    = lineMatInstance;
            stripMeshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            stripMeshRenderer.receiveShadows    = false;
            stripMeshRenderer.lightProbeUsage   = UnityEngine.Rendering.LightProbeUsage.Off;

            MeshFilter stripMeshFilter = stripMeshRenderer.EnsureComponent <MeshFilter>();

            stripMeshFilter.sharedMesh = stripMesh;
        }