---
title: MeshDeformer
framework: realitykit
role: symbol
role_heading: Protocol
path: realitykit/meshdeformer
---

# MeshDeformer

An interface for all deformation types in a deformation definition, both built-in and custom. The users overrides all functions to implement a custom MeshDeformer, and can in general ignore all but the constructors for built-in deformers.

## Declaration

```swift
protocol MeshDeformer : Decodable, Encodable, Equatable, Sendable
```

## Topics

### Identifying the deformer

- [type](realitykit/meshdeformer/type-swift.type.property.md)
- [type](realitykit/meshdeformer/type-nxsx.md)

### Configuring deformation options

- [options](realitykit/meshdeformer/options.md)

### Deforming the mesh

- [deform(parameter:encoder:)](realitykit/meshdeformer/deform(parameter:encoder:).md)
- [deform(parameter:)](realitykit/meshdeformer/deform(parameter:).md)

### Comparing deformers

- [isDeformerEqual(other:)](realitykit/meshdeformer/isdeformerequal(other:).md)

### Instance Properties

- [mode](realitykit/meshdeformer/mode-6ci1w.md)

### Type Properties

- [mode](realitykit/meshdeformer/mode-v9mj.md)

## Relationships

### Inherits From

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [BlendShapeDeformer](realitykit/blendshapedeformer.md)
- [CalculateBoundingBoxDeformer](realitykit/calculateboundingboxdeformer.md)
- [OpenSubdivisionDeformer](realitykit/opensubdivisiondeformer.md)
- [RenormalizationDeformer](realitykit/renormalizationdeformer.md)
- [SkinningDeformer](realitykit/skinningdeformer.md)

## See Also

### Deformers

- [MeshDeformerComponent](realitykit/meshdeformercomponent.md)
- [SkinningDeformer](realitykit/skinningdeformer.md)
- [BlendShapeDeformer](realitykit/blendshapedeformer.md)
- [OpenSubdivisionDeformer](realitykit/opensubdivisiondeformer.md)
- [RenormalizationDeformer](realitykit/renormalizationdeformer.md)
- [CalculateBoundingBoxDeformer](realitykit/calculateboundingboxdeformer.md)
