---
title: TextureResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/textureresource
---

# TextureResource

A representation of a texture.

## Declaration

```swift
@MainActor @preconcurrency class TextureResource
```

## Overview

Overview A texture resource holds pixel data accessible by the GPU, organized as an image, a cube of images, an array of images, or a 3D image (volume texture). Assign texture resources to material parameters to provide color and fine surface-rendering details.

## Topics

### Creating a texture resource

- [TextureResource.Contents](realitykit/textureresource/contents.md)
- [TextureResource.Format](realitykit/textureresource/format.md)
- [TextureResource.Compression](realitykit/textureresource/compression.md)

### Creating a 2D texture resource

- [TextureResource.Dimensions2D](realitykit/textureresource/dimensions2d.md)

### Creating a cube texture resource

- [TextureResource.DimensionsCube](realitykit/textureresource/dimensionscube.md)

### Creating a 2D array texture resource

- [TextureResource.Dimensions2DArray](realitykit/textureresource/dimensions2darray.md)

### Creating a 3D texture resource

- [TextureResource.Dimensions3D](realitykit/textureresource/dimensions3d.md)

### Loading a texture

- [init(named:in:)](realitykit/textureresource/init(named:in:).md)
- [init(named:in:options:)](realitykit/textureresource/init(named:in:options:).md)
- [init(contentsOf:withName:options:)](realitykit/textureresource/init(contentsof:withname:options:).md)
- [init(contentsOf:withName:)](realitykit/textureresource/init(contentsof:withname:).md)
- [load(named:in:)](realitykit/textureresource/load(named:in:).md)
- [load(named:in:options:)](realitykit/textureresource/load(named:in:options:).md)
- [load(contentsOf:withName:options:)](realitykit/textureresource/load(contentsof:withname:options:).md)
- [load(contentsOf:withName:)](realitykit/textureresource/load(contentsof:withname:).md)
- [loadAsync(named:in:)](realitykit/textureresource/loadasync(named:in:).md)
- [loadAsync(named:in:options:)](realitykit/textureresource/loadasync(named:in:options:).md)
- [loadAsync(contentsOf:withName:)](realitykit/textureresource/loadasync(contentsof:withname:).md)

### Describing the texture

- [textureType](realitykit/textureresource/texturetype.md)
- [pixelFormat](realitykit/textureresource/pixelformat.md)
- [height](realitykit/textureresource/height.md)
- [width](realitykit/textureresource/width.md)
- [depth](realitykit/textureresource/depth.md)
- [arrayLength](realitykit/textureresource/arraylength.md)
- [mipmapLevelCount](realitykit/textureresource/mipmaplevelcount.md)
- [semantic](realitykit/textureresource/semantic-swift.property.md)

### Drawing the texture

- [drawableQueue](realitykit/textureresource/drawablequeue-swift.property.md)

### Copying the texture

- [copy(to:)](realitykit/textureresource/copy(to:)-jfbi.md)
- [copyAsync(to:completionHandler:)](realitykit/textureresource/copyasync(to:completionhandler:).md)

### Modifying the texture

- [replace(withDrawables:)](realitykit/textureresource/replace(withdrawables:).md)
- [replace(withImage:options:)](realitykit/textureresource/replace(withimage:options:).md)
- [replace(using:options:)](realitykit/textureresource/replace(using:options:).md)
- [replace(with:)](realitykit/textureresource/replace(with:).md)

### Deprecated

- [generate(from:withName:options:)](realitykit/textureresource/generate(from:withname:options:).md)
- [generateAsync(from:withName:options:)](realitykit/textureresource/generateasync(from:withname:options:).md)
- [replaceAsync(withImage:options:)](realitykit/textureresource/replaceasync(withimage:options:).md)
- [generate(from:named:options:)](realitykit/textureresource/generate(from:named:options:).md)
- [loadAsync(contentsOf:withName:options:)](realitykit/textureresource/loadasync(contentsof:withname:options:).md)

### Classes

- [TextureResource.Drawable](realitykit/textureresource/drawable.md)
- [TextureResource.DrawableQueue](realitykit/textureresource/drawablequeue-swift.class.md)

### Structures

- [TextureResource.CreateOptions](realitykit/textureresource/createoptions.md)

### Initializers

- [init(cubeFromEquirectangular:named:quality:faceSize:options:)](realitykit/textureresource/init(cubefromequirectangular:named:quality:facesize:options:).md)
- [init(cubeFromImage:named:options:)](realitykit/textureresource/init(cubefromimage:named:options:).md)
- [init(dimensions:format:contents:)](realitykit/textureresource/init(dimensions:format:contents:).md)
- [init(from:)](realitykit/textureresource/init(from:).md)
- [init(image:withName:options:)](realitykit/textureresource/init(image:withname:options:).md)

### Instance Methods

- [copy(to:)](realitykit/textureresource/copy(to:).md)

### Type Aliases

- [TextureResource.SamplingQuality](realitykit/textureresource/samplingquality.md)

### Type Methods

- [cube(slices:named:options:)](realitykit/textureresource/cube(slices:named:options:).md)
- [texture2DArray(slices:named:options:)](realitykit/textureresource/texture2darray(slices:named:options:).md)
- [texture3D(slices:named:options:)](realitykit/textureresource/texture3d(slices:named:options:).md)

### Enumerations

- [TextureResource.MipmapsMode](realitykit/textureresource/mipmapsmode.md)
- [TextureResource.Semantic](realitykit/textureresource/semantic-swift.enum.md)

### Default Implementations

- [Equatable Implementations](realitykit/textureresource/equatable-implementations.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Resource](realitykit/resource.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Texture resources

- [Generating procedural textures](visionos/generating-procedural-textures-in-visionos.md)
- [Displaying a stereoscopic image](visionos/displaying-a-stereoscopic-image-in-visionos.md)
- [TextureResource.CreateOptions](realitykit/textureresource/createoptions.md)
- [TextureResource.SamplingQuality](realitykit/textureresource/samplingquality.md)
- [TextureResource.MipmapsMode](realitykit/textureresource/mipmapsmode.md)
- [TextureResource.Semantic](realitykit/textureresource/semantic-swift.enum.md)
