<!--
{
  "documentType" : "article",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/physics-simulations-and-motion",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Simulations and motion"
}
-->

# Simulations and motion

Simulate physical interactions between entities or systems.

## Overview

RealityKit simulates physical interactions between virtual objects in your scene, as well as between virtual objects and detected surfaces in the real world, such as floors, walls, or tabletops.
On devices with a LiDAR Scanner, RealityKit can even simulate interactions between virtual objects and scanned real-world geometry.

## Topics

### Simulation setup

[Designing scene hierarchies for efficient physics simulation](/documentation/RealityKit/designing-scene-hierarchies-for-efficient-physics-simulation)

Configure your RealityKit scenes to avoid performance bottlenecks.

[Handling different-sized objects in physics simulations](/documentation/RealityKit/handling-different-sized-objects-in-physics-simulations)

Set up a scene hierarchy for accurate physics simulations.

[`struct PhysicsSimulationComponent`](/documentation/RealityKit/PhysicsSimulationComponent)

A component that controls localized physics simulations.

### Simulation-related notifications

[`enum PhysicsSimulationEvents`](/documentation/RealityKit/PhysicsSimulationEvents)

Types of events that fire during physics simulations

### Physical properties

[`struct PhysicsBodyComponent`](/documentation/RealityKit/PhysicsBodyComponent)

A component that defines an entity’s behavior in physics body simulations.

[`class PhysicsMaterialResource`](/documentation/RealityKit/PhysicsMaterialResource)

Material properties, like friction, of a physically simulated object.

[`enum PhysicsBodyMode`](/documentation/RealityKit/PhysicsBodyMode)

The ways that a physics body can move in response to physical forces.

[`struct PhysicsMassProperties`](/documentation/RealityKit/PhysicsMassProperties)

Mass properties of a physics body.

### Physics motion

[`struct PhysicsMotionComponent`](/documentation/RealityKit/PhysicsMotionComponent)

A component that controls the motion of the body in physics simulations.

[`struct ImpulseAction`](/documentation/RealityKit/ImpulseAction)

An action that applies an impulse to the physics body at its center of mass when
played as an animation.

### Particle simulation

[Simulating particles in your visionOS app](/documentation/RealityKit/simulating-particles-in-your-visionos-app)

Add a range of visual effects to a RealityKit view by attaching a
particle emitter component to an entity.

[`struct ParticleEmitterComponent`](/documentation/RealityKit/ParticleEmitterComponent)

A component that emits particles.

[`struct ParticleEmitter`](/documentation/RealityKit/ParticleEmitterComponent/ParticleEmitter)

[`struct Presets`](/documentation/RealityKit/ParticleEmitterComponent/Presets)

Initial configurations that can be set when starting a new simulation.

### Entity compliance

[`protocol HasPhysicsBody`](/documentation/RealityKit/HasPhysicsBody)

An interface that enables physics simulations based on the rules of
Newtonian mechanics.

[`protocol HasPhysicsMotion`](/documentation/RealityKit/HasPhysicsMotion)

An interface that provides velocity properties for physics simulations.

[`protocol HasPhysics`](/documentation/RealityKit/HasPhysics)

An interface that combines the physics body and physics motion interfaces.



---

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)