---
title: "start(completionHandler:)"
framework: corehaptics
role: symbol
role_heading: Instance Method
path: "corehaptics/chhapticengine/start(completionhandler:)"
---

# start(completionHandler:)

Asynchronously starts the haptic engine.

## Declaration

```swift
func start(completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func start() async throws
```

## Parameters

- `completionHandler`: The closure the system calls to indicate whether the server started successfully or encountered an error.

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: func start() async throws For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously.

## See Also

### Starting and Stopping the Haptic Engine

- [start()](corehaptics/chhapticengine/start().md)
- [stop(completionHandler:)](corehaptics/chhapticengine/stop(completionhandler:).md)
- [CHHapticEngine.CompletionHandler](corehaptics/chhapticengine/completionhandler.md)
