<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/LowLevelRenderContextStandalone/makeMeshInstance(meshPart:pipeline:geometryArguments:surfaceArguments:lightingArguments:transform:sortCategory:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:19RealityCoreRenderer31LowLevelRenderContextStandaloneC16makeMeshInstance8meshPart8pipeline17geometryArguments07surfaceP008lightingP09transform12sortCategoryAA0dejK0CAA0dejM0C_AA0deF13PipelineStateCAA0dE13ArgumentTableCSgA2TSo13simd_float4x4aAM04SortU0OtKF"
  },
  "title" : "makeMeshInstance(meshPart:pipeline:geometryArguments:surfaceArguments:lightingArguments:transform:sortCategory:)"
}
-->

# makeMeshInstance(meshPart:pipeline:geometryArguments:surfaceArguments:lightingArguments:transform:sortCategory:)

Creates a drawable mesh instance pairing a mesh part with a compiled pipeline state
and optional per-draw argument tables.

```
final func makeMeshInstance(meshPart: LowLevelMeshPart, pipeline: LowLevelRenderPipelineState, geometryArguments: LowLevelArgumentTable?, surfaceArguments: LowLevelArgumentTable?, lightingArguments: LowLevelArgumentTable?, transform: simd_float4x4, sortCategory: LowLevelMeshInstance.SortCategory) throws -> LowLevelMeshInstance
```

## Parameters

`meshPart`

The mesh part this instance draws.

`pipeline`

The compiled pipeline state used to render this instance.

`geometryArguments`

The argument table bound to the geometry modifier stage, or `nil` if none.

`surfaceArguments`

The argument table bound to the surface shader stage, or `nil` if none.

`lightingArguments`

The argument table bound to the lighting function stage, or `nil` if none.

`transform`

The initial local-to-world transform of this instance.

`sortCategory`

The category (opaque or transparent) for sorting.

## Return Value

A newly created [`LowLevelMeshInstance`](/documentation/RealityKit/LowLevelMeshInstance).

## Discussion

Pass `nil` for any argument table stage not required by the material.

> Throws: An error if the pipeline or argument tables are incompatible with the render context.

---

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)