---
title: "run(_:queue:)"
framework: scenekit
role: symbol
role_heading: Type Method
path: "scenekit/scnaction/run(_:queue:)"
---

# run(_:queue:)

Creates an action that executes a block on a specific dispatch queue.

## Declaration

```swift
class func run(_ block: @escaping @Sendable (SCNNode) -> Void, queue: dispatch_queue_t) -> SCNAction
```

## Parameters

- `block`: The block to run. The block takes a single parameter:
- `queue`: The queue to perform the action on.

## Return Value

Return Value A new action object.

## Discussion

Discussion When the action executes, SceneKit calls the block. This action takes place instantaneously. This action is not reversible; the reverse action executes the same block.

## See Also

### Creating Custom Actions

- [run(_:)](scenekit/scnaction/run(_:).md)
- [customAction(duration:action:)](scenekit/scnaction/customaction(duration:action:).md)
- [javaScriptAction(withScript:duration:)](scenekit/scnaction/javascriptaction(withscript:duration:).md)
