---
title: "rotateTo(x:y:z:duration:usesShortestUnitArc:)"
framework: scenekit
role: symbol
role_heading: Type Method
path: "scenekit/scnaction/rotateto(x:y:z:duration:usesshortestunitarc:)"
---

# rotateTo(x:y:z:duration:usesShortestUnitArc:)

Creates an action that rotates the node to absolute angles in each of the three principal axes.

## Declaration

```swift
class func rotateTo(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration: TimeInterval, usesShortestUnitArc shortestUnitArc: Bool) -> SCNAction
```

## Parameters

- `xAngle`: The amount to rotate the node counterclockwise around the x-axis of its local coordinate space, in radians.
- `yAngle`: The amount to rotate the node counterclockwise around the y-axis of its local coordinate space, in radians.
- `zAngle`: The amount to rotate the node counterclockwise around the z-axis of its local coordinate space, in radians.
- `duration`: The duration, in seconds, of the animation.
- `shortestUnitArc`: If doc://com.apple.documentation/documentation/Swift/false (the default), the animation interpolates each component of the node’s rotation between its current value and the new value. If doc://com.apple.documentation/documentation/Swift/true, the animation makes the most direct rotation possible from the node’s current orientation to the new orientation.

## Return Value

Return Value A new action object.

## Discussion

Discussion When the action executes, the node’s rotation property animates to the new angle. This action is not reversible; the reverse of this action has the same duration but does not change anything.

## See Also

### Creating Actions That Rotate a Node

- [rotateBy(x:y:z:duration:)](scenekit/scnaction/rotateby(x:y:z:duration:).md)
- [rotateTo(x:y:z:duration:)](scenekit/scnaction/rotateto(x:y:z:duration:).md)
- [rotate(by:around:duration:)](scenekit/scnaction/rotate(by:around:duration:).md)
- [rotate(toAxisAngle:duration:)](scenekit/scnaction/rotate(toaxisangle:duration:).md)
