<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "SpriteKit",
  "identifier" : "/documentation/SpriteKit/SKAction",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SpriteKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SKAction"
  },
  "title" : "SKAction"
}
-->

# SKAction

An object that is run by a node to change its structure or content.

```
class SKAction
```

## Overview

[`SKAction`](/documentation/SpriteKit/SKAction) is an animation that is executed by a node in the scene. Actions are used to change a node in some way (like move its position over time), but you can also use actions to change the scene, like doing a fadeout. When the scene processes its nodes, the actions associated with those nodes are processed.

## Topics

### First Steps

[Getting Started with Actions](/documentation/SpriteKit/getting-started-with-actions)

Create, configure, and run actions in SpriteKit.

[Action Initializers](/documentation/SpriteKit/action-initializers)

Use these functions to create actions.

### Controlling Action Timing

[Configuring Action Timing](/documentation/SpriteKit/configuring-action-timing)

Time an action in a scene, by adding or modifying timing properties, or cancel an action.

[`duration`](/documentation/SpriteKit/SKAction/duration)

The duration required to complete an action.

[`timingMode`](/documentation/SpriteKit/SKAction/timingMode)

A setting that controls the speed curve of an animation.

[`SKActionTimingMode`](/documentation/SpriteKit/SKActionTimingMode)

The modes that an action can use to adjust the apparent timing of the action.

[`timingFunction`](/documentation/SpriteKit/SKAction/timingFunction)

A block used to customize the timing function.

[`SKActionTimingFunction`](/documentation/SpriteKit/SKActionTimingFunction)

The signature for the custom timing block.

[`speed`](/documentation/SpriteKit/SKAction/speed)

A speed factor that modifies how fast an action runs.

### Using Action Names

[Controlling Actions Precisely by Using Names](/documentation/SpriteKit/controlling-actions-precisely-by-using-names)

Set an action’s name property so you can access it later without needing an instance variable.

### Observing Live Changes

[Detecting Changes at Each Step of an Animation](/documentation/SpriteKit/detecting-changes-at-each-step-of-an-animation)

Get notified of a property change on your node subclass and retrieve the amount of change.



---

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)