<!--
{
  "documentType" : "article",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/physics-cloth-simulation",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Cloth simulation"
}
-->

# Cloth simulation

Add fabric, soft surfaces, and draping materials that bend, fold, and respond to forces and contact in your 3D scenes.

## Overview

This collection covers the components, shapes, and resources you use to add simulated fabric and other deformable surfaces to a scene. Use it to give an entity cloth-like behavior, define its physical material and shape, and control how it collides with the world around it. You can shape how the simulation responds to forces, grabbing, and query regions, and react to the events it generates as it runs. Reach for these APIs when static or rigid-body geometry can’t capture the flowing, draping motion you want.

## Topics

### Simulation and bodies

[`ClothSimulationComponent`](/documentation/RealityKit/ClothSimulationComponent)

A component that marks an entity as the simulation root of a localized cloth simulation.

[`ClothBodyComponent`](/documentation/RealityKit/ClothBodyComponent)

A component that simulates an entity as a deformable cloth body, when part of a cloth simulation.

[`ClothBodyMaterial`](/documentation/RealityKit/ClothBodyMaterial)

A struct that represents a cloth body’s material.

[`ClothGrabComponent`](/documentation/RealityKit/ClothGrabComponent)

A component that grabs and drags particles of cloth bodies
using either a ray or a volume, as determined by the `mode` property.

[`ClothForceVolumeComponent`](/documentation/RealityKit/ClothForceVolumeComponent)

A component that creates a force volume applying forces to any intersecting cloth body particles.

[`ClothQueryVolumeComponent`](/documentation/RealityKit/ClothQueryVolumeComponent)

A component that defines a volume for querying particles of cloth bodies.

[`ClothCoordinateSpace`](/documentation/RealityKit/ClothCoordinateSpace)

Defines a reference frame within a cloth simulation.

[`PerClothVertexData`](/documentation/RealityKit/PerClothVertexData)

A generic type that stores per-vertex data in a buffer.

### Cloth shapes

[`ClothMeshShape`](/documentation/RealityKit/ClothMeshShape)

Shape representing a mesh with a configurable inflation bias.

[`ClothPlaneShape`](/documentation/RealityKit/ClothPlaneShape)

Shape representing an infinite plane that encloses one half of the world.

[`ClothBoxShape`](/documentation/RealityKit/ClothBoxShape)

Shape representing a box.

[`ClothRoundedBoxShape`](/documentation/RealityKit/ClothRoundedBoxShape)

Shape representing a box with rounded edges.

[`ClothSphereShape`](/documentation/RealityKit/ClothSphereShape)

Shape representing a sphere.

[`ClothCapsuleShape`](/documentation/RealityKit/ClothCapsuleShape)

Shape representing a capsule (full height is `height + 2 * radius`).

[`ClothVolumeShape`](/documentation/RealityKit/ClothVolumeShape)

Shape suitable for use as a volume.

### Collision

[`ClothColliderComponent`](/documentation/RealityKit/ClothColliderComponent)

A component that adds a cloth-compatible collider to an entity.

[`ClothColliderShape`](/documentation/RealityKit/ClothColliderShape)

Shape suitable for use as a collider.

[`ClothColliderMaterial`](/documentation/RealityKit/ClothColliderMaterial)

A struct that represents a collider’s material.

[`ClothCollisionFilter`](/documentation/RealityKit/ClothCollisionFilter)

Defines the collision groups for a body or collider and the mask for one-way collisions.

[`ClothCollisionGroupSet`](/documentation/RealityKit/ClothCollisionGroupSet)

`ClothCollisionGroupSet` is the basis for the `ClothCollisionFilter` and should not be used separately.

### Cloth events

[`ClothSimulationEvents`](/documentation/RealityKit/ClothSimulationEvents)

Types of events that a cloth simulation publishes during its lifetime.

[`ClothBodyEvents`](/documentation/RealityKit/ClothBodyEvents)

Types of events that a cloth body publishes during its lifetime.

[`ClothColliderEvents`](/documentation/RealityKit/ClothColliderEvents)

Types of events that a cloth collider publishes during its lifetime.

[`ClothQueryVolumeEvents`](/documentation/RealityKit/ClothQueryVolumeEvents)

Types of events that a cloth query volume publishes during its lifetime.

### Cloth resources

[`ClothMeshResource`](/documentation/RealityKit/ClothMeshResource)

A mesh resource that defines the topology and shape of a cloth body or a mesh-shaped cloth collider.

[`ClothPoseResource`](/documentation/RealityKit/ClothPoseResource)

A resource that defines a set of vertex positions for a cloth body.



---

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)