---
title: "init(owner:name:typeName:variability:isCustom:)"
framework: usdkit
role: symbol
role_heading: Initializer
path: "usdkit/usdprim/attribute/spec/init(owner:name:typename:variability:iscustom:)"
---

# init(owner:name:typeName:variability:isCustom:)

Creates a new attribute spec under the given prim spec.

## Declaration

```swift
init?(owner: USDPrim.Spec, name: USDToken, typeName: USDPrim.Attribute.ValueType, variability: USDPrim.Property.Variability = .varying, isCustom: Bool = false)
```

## Parameters

- `owner`: The prim spec that owns the new attribute.
- `name`: The attribute’s name.
- `typeName`: The attribute’s value type.
- `variability`: The attribute’s variability.
- `isCustom`: Whether the attribute is authored as custom.
