---
title: "init(updateMode:)"
framework: phase
role: symbol
role_heading: Initializer
path: "phase/phaseengine/init(updatemode:)"
---

# init(updateMode:)

Creates an engine updated by the app or framework.

## Declaration

```swift
init(updateMode: PHASEEngine.UpdateMode)
```

## Parameters

- `updateMode`: An option that controls the timing of internal framework updates.

## Discussion

Discussion The argument you choose determines the rate at which the engine consumes user commands, performs internal updates, and executes callbacks. When an app calls a PHASE function, the framework defers processing the call until the next update. An engine you configure with PHASEEngine.UpdateMode.manual controls when the framework processes those calls. For example, an app can ensure that two sound events begin simultaneously by following their creation with an update(). Apps that don’t require advanced call synchronization select PHASEEngine.UpdateMode.automatic.

## See Also

### Creating an Engine

- [init(updateMode:renderingMode:)](phase/phaseengine/init(updatemode:renderingmode:).md)
- [PHASEEngine.UpdateMode](phase/phaseengine/updatemode.md)
- [PHASEEngine.RenderingMode](phase/phaseengine/renderingmode.md)
