---
title: LowLevelDeviceResource
framework: realitykit
role: symbol
role_heading: Class
path: realitykit/lowleveldeviceresource
---

# LowLevelDeviceResource

Encapsulates a GPU device resource created by the application. On visionOS, resources must be allocated in shared memory that can be used by the renderer process. Once a device resource is in use by the renderer, changing its contents is unsafe and undefined.

## Declaration

```swift
class LowLevelDeviceResource
```

## Topics

### Creating a device resource

- [init(textureDescriptor:iosurface:plane:)](realitykit/lowleveldeviceresource/init(texturedescriptor:iosurface:plane:).md)
- [init(sharedTextureHandle:)](realitykit/lowleveldeviceresource/init(sharedtexturehandle:).md)

### Initializers

- [init(texture:)](realitykit/lowleveldeviceresource/init(texture:).md)

## See Also

### GPU resources

- [LowLevelMeshResource](realitykit/lowlevelmeshresource.md)
- [LowLevelMeshPart](realitykit/lowlevelmeshpart.md)
- [LowLevelMeshInstance](realitykit/lowlevelmeshinstance.md)
- [LowLevelMeshInstanceArray](realitykit/lowlevelmeshinstancearray.md)
- [LowLevelInstanceTransformResource](realitykit/lowlevelinstancetransformresource.md)
- [LowLevelBufferResource](realitykit/lowlevelbufferresource.md)
- [LowLevelBufferSlice](realitykit/lowlevelbufferslice.md)
- [LowLevelTextureResource](realitykit/lowleveltextureresource.md)
- [LowLevelMaterialResource](realitykit/lowlevelmaterialresource.md)
- [BoundingSphereBox](realitykit/boundingspherebox.md)
