---
title: "makeInstanceTransformResource(instanceCapacity:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/lowlevelrendercontext/makeinstancetransformresource(instancecapacity:)"
---

# makeInstanceTransformResource(instanceCapacity:)

Creates a transform buffer resource for GPU instancing.

## Declaration

```swift
func makeInstanceTransformResource(instanceCapacity: Int) throws -> LowLevelInstanceTransformResource
```

## Parameters

- `instanceCapacity`: The maximum number of instances the buffer holds.

## Return Value

Return Value A newly created LowLevelInstanceTransformResource.

## Discussion

Discussion The buffer stores up to instanceCapacity model-to-local transforms as float4x4 values. Assign the result to a LowLevelMeshInstance via setInstanceTransforms(_:) to enable GPU instancing. note: An error if the allocation fails.

## See Also

### Creating meshes

- [makeMeshResource(descriptor:)](realitykit/lowlevelrendercontext/makemeshresource(descriptor:).md)
- [makeMeshPart(resource:indexOffset:indexCount:primitive:windingOrder:bounds:)](realitykit/lowlevelrendercontext/makemeshpart(resource:indexoffset:indexcount:primitive:windingorder:bounds:).md)
- [makeMeshInstance(meshPart:pipeline:geometryArguments:surfaceArguments:lightingArguments:transform:sortCategory:)](realitykit/lowlevelrendercontext/makemeshinstance(meshpart:pipeline:geometryarguments:surfacearguments:lightingarguments:transform:sortcategory:).md)
- [makeMeshInstanceArray(renderTargets:count:)](realitykit/lowlevelrendercontext/makemeshinstancearray(rendertargets:count:).md)
