---
title: "performEffect(for:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avcapturedevice/performeffect(for:)"
---

# performEffect(for:)

Performs the specified reaction type on the video stream.

## Declaration

```swift
func performEffect(for reactionType: AVCaptureReactionType)
```

## Parameters

- `reactionType`: A reaction type to perform. Specifying a type that doesn’t exists within the set of doc://com.apple.avfoundation/documentation/AVFoundation/AVCaptureDevice/availableReactionTypes for the device results in an exception.

## Discussion

Discussion The entries in the reactionEffectsInProgress property may not reflect one-to-one with calls to this method. Depending on reaction style or resource limits, the system may coalesce overlapping reactions of the same type by extending an existing reaction rather than overlaying a new one. note: Calling this method has no effect when the value of canPerformReactionEffects is false. In this case, VoIP apps should transmit and display reactions outside of the video feed.

## See Also

### Performing reaction effects

- [reactionEffectsEnabled](avfoundation/avcapturedevice/reactioneffectsenabled.md)
- [canPerformReactionEffects](avfoundation/avcapturedevice/canperformreactioneffects.md)
- [availableReactionTypes](avfoundation/avcapturedevice/availablereactiontypes.md)
- [reactionEffectGesturesEnabled](avfoundation/avcapturedevice/reactioneffectgesturesenabled.md)
- [reactionEffectsInProgress](avfoundation/avcapturedevice/reactioneffectsinprogress.md)
- [AVCaptureReactionEffectState](avfoundation/avcapturereactioneffectstate.md)
