<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ModelIO",
  "identifier" : "/documentation/ModelIO/MDLMaterialPropertyType",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Model I/O"
    ],
    "preciseIdentifier" : "c:@E@MDLMaterialPropertyType"
  },
  "title" : "MDLMaterialPropertyType"
}
-->

# MDLMaterialPropertyType

Options for the data type of a material property, used by the [`type`](/documentation/ModelIO/MDLMaterialProperty/type) property.

```
enum MDLMaterialPropertyType
```

## Overview

Reading a material property’s value using an accessor for a type other than that corresponding to the [`type`](/documentation/ModelIO/MDLMaterialProperty/type) property produces undefined results.

## Topics

### Constants

[`MDLMaterialPropertyTypeNone`](/documentation/ModelIO/MDLMaterialPropertyType/none)

The material property’s value has not been initialized.

[`MDLMaterialPropertyTypeString`](/documentation/ModelIO/MDLMaterialPropertyType/string)

The material’s value is a string.

[`MDLMaterialPropertyTypeURL`](/documentation/ModelIO/MDLMaterialPropertyType/URL)

The material property’s value is a URL—typically, a URL referencing a texture image.

[`MDLMaterialPropertyTypeTexture`](/documentation/ModelIO/MDLMaterialPropertyType/texture)

The material property’s value is a [`MDLTextureSampler`](/documentation/ModelIO/MDLTextureSampler) object that provides both a texture image and texture rendering parameters.

[`MDLMaterialPropertyTypeColor`](/documentation/ModelIO/MDLMaterialPropertyType/color)

The material property’s value is a uniform color.

[`MDLMaterialPropertyTypeFloat`](/documentation/ModelIO/MDLMaterialPropertyType/float)

The material property’s value is a floating-point scalar.

[`MDLMaterialPropertyTypeFloat2`](/documentation/ModelIO/MDLMaterialPropertyType/float2)

The material property’s value is a 2-component floating-point vector.

[`MDLMaterialPropertyTypeFloat3`](/documentation/ModelIO/MDLMaterialPropertyType/float3)

The material property’s value is a 3-component floating-point vector.

[`MDLMaterialPropertyTypeFloat4`](/documentation/ModelIO/MDLMaterialPropertyType/float4)

The material property’s value is a 4-component floating-point vector.

[`MDLMaterialPropertyTypeMatrix44`](/documentation/ModelIO/MDLMaterialPropertyType/matrix44)

The material property’s value is a 4 x 4 floating-point matrix.

## Relationships

### Conforms To

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`Hashable`](/documentation/Swift/Hashable)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

---

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)