<!--
{
  "availability" : [
    "macOS: 10.4.0 - 10.15.0"
  ],
  "documentType" : "symbol",
  "framework" : "Quartz",
  "identifier" : "/documentation/Quartz/QCPlugIn/attributes()",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Quartz"
    ],
    "preciseIdentifier" : "c:objc(cs)QCPlugIn(cm)attributes"
  },
  "title" : "attributes()"
}
-->

# attributes()

Returns a dictionary that contains strings for the user interface that describe the custom patch.

```
class func attributes() -> [AnyHashable : Any]!
```

## Return Value

The dictionary can contain one or more of these keys along with the appropriate string: [`QCPlugInAttributeNameKey`](/documentation/Quartz/QCPlugInAttributeNameKey) and [`QCPlugInAttributeDescriptionKey`](/documentation/Quartz/QCPlugInAttributeDescriptionKey).

## Discussion

It’s recommended that you implement this method to enhance the experience of those who use your custom patch. The attribute name string that you provide is displayed in the Quartz Composer editor window when the custom patch name is selected in the Patch Creator (see figure). The attribute description key is displayed in the Information pane of the inspector for the custom patch.

![The patch library with the description box open.](images/com.apple.quartz/media-2557124.jpg)

---

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)