---
title: "makeTexture(descriptor:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtldevice/maketexture(descriptor:)"
---

# makeTexture(descriptor:)

Creates a new texture instance.

## Declaration

```swift
func makeTexture(descriptor: MTLTextureDescriptor) -> (any MTLTexture)?
```

## Parameters

- `descriptor`: An doc://com.apple.metal/documentation/Metal/MTLTextureDescriptor instance.

## Mentioned in

Setting resource storage modes

## Return Value

Return Value A new MTLTexture instance if the method completed successfully; otherwise nil.

## See Also

### Creating textures

- [makeTexture(descriptor:iosurface:plane:)](metal/mtldevice/maketexture(descriptor:iosurface:plane:).md)
- [makeSharedTexture(descriptor:)](metal/mtldevice/makesharedtexture(descriptor:).md)
- [makeSharedTexture(handle:)](metal/mtldevice/makesharedtexture(handle:).md)
- [minimumLinearTextureAlignment(for:)](metal/mtldevice/minimumlineartexturealignment(for:).md)
- [minimumTextureBufferAlignment(for:)](metal/mtldevice/minimumtexturebufferalignment(for:).md)
