---
title: SCNActionable
framework: scenekit
role: symbol
role_heading: Protocol
path: scenekit/scnactionable
---

# SCNActionable

Methods for running actions on nodes.

## Declaration

```swift
protocol SCNActionable : NSObjectProtocol
```

## Overview

Overview SCNAction objects represent reusable, animated actions that can be performed on nodes, such as moving or rotating them. You use an SCNAction class method to create an action and then use methods in the SCNActionable protocol to run the action on a node. This protocol also defines methods for checking whether a node has any currently running actions and, if so, canceling them.

## Topics

### Running Actions

- [runAction(_:)](scenekit/scnactionable/runaction(_:).md)
- [runAction(_:completionHandler:)](scenekit/scnactionable/runaction(_:completionhandler:).md)
- [runAction(_:forKey:)](scenekit/scnactionable/runaction(_:forkey:).md)
- [runAction(_:forKey:completionHandler:)](scenekit/scnactionable/runaction(_:forkey:completionhandler:).md)

### Inspecting a Node’s Running Actions

- [action(forKey:)](scenekit/scnactionable/action(forkey:).md)
- [hasActions](scenekit/scnactionable/hasactions.md)
- [actionKeys](scenekit/scnactionable/actionkeys.md)

### Canceling a Node’s Running Actions

- [removeAction(forKey:)](scenekit/scnactionable/removeaction(forkey:).md)
- [removeAllActions()](scenekit/scnactionable/removeallactions().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [SCNNode](scenekit/scnnode.md)
- [SCNReferenceNode](scenekit/scnreferencenode.md)

## See Also

### Actions

- [SCNAction](scenekit/scnaction.md)
