<!--
{
  "availability" : [
    "iOS: 3.0.0 -",
    "iPadOS: 3.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.6.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "QuartzCore",
  "identifier" : "/documentation/QuartzCore/CAShapeLayer/path",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Animation"
    ],
    "preciseIdentifier" : "c:objc(cs)CAShapeLayer(py)path"
  },
  "title" : "path"
}
-->

# path

The path defining the shape to be rendered. Animatable.

```
var path: CGPath? { get set }
```

## Discussion

Unlike most animatable properties, [`path`](/documentation/QuartzCore/CAShapeLayer/path) (as with all <doc://com.apple.documentation/documentation/CoreGraphics/CGPath> animatable properties) does not support implicit animation.

The path object may be animated using any of the concrete subclasses of [`CAPropertyAnimation`](/documentation/QuartzCore/CAPropertyAnimation). Paths will interpolate as a linear blend of  the “on-line” points; “off-line” points may be interpolated non-linearly (e.g. to preserve continuity of the curve’s derivative). If the two paths have a different number of control points or segments the results are undefined. If the path extends outside the layer bounds it will not automatically be clipped to the layer, only if the normal layer masking rules cause that.

The default value of this property is `nil`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)