<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/HasPhysicsBody/addForce(_:at:relativeTo:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation14HasPhysicsBodyPAAE8addForce_2at10relativeToys5SIMD3VySfG_AiA6EntityCSgtF"
  },
  "title" : "addForce(_:at:relativeTo:)"
}
-->

# addForce(_:at:relativeTo:)

Applies a force to the physics body at the specified position.

```
@MainActor @preconcurrency func addForce(_ force: SIMD3<Float>, at position: SIMD3<Float>, relativeTo referenceEntity: Entity?)
```

## Parameters

`force`

A force in newtons.

`position`

The position at which to apply the force.

`referenceEntity`

The reference entity that defines the coordinate
space in which `position` and `force` are defined.

## Discussion

The physics simulator applies the added force until the end of the frame
interval. To continue exerting the force after that time, add the force
again with another call to the method. Handle the [`SceneEvents.Update`](/documentation/RealityKit/SceneEvents/Update)
event to receive an indication of when the frame interval ends. For an
app that renders at 60 frames per second (fps), this event occurs about
once per 16 milliseconds.

---

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)