<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "s:So34AVVideoCompositionLayerInstructionC12AVFoundationE13ConfigurationV"
  },
  "title" : "AVVideoCompositionLayerInstruction.Configuration"
}
-->

# AVVideoCompositionLayerInstruction.Configuration

Configurable properties for initializing a new AVVideoCompositionLayerInstruction instance.

```
struct Configuration
```

## Topics

### Creating a configuration

[`init(assetTrack: AVAssetTrack)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/init(assetTrack:))

Creates a new video composition layer instruction for the given track.

[`init(trackID: CMPersistentTrackID)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/init(trackID:))

Creates a new video composition layer instruction for the given track ID.

### Configuring the crop rectangle

[`func setCropRectangle(CGRect, at: CMTime)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/setCropRectangle(_:at:))

Sets the crop rectangle value at a time within the time range of the instruction.

[`func addCropRectangleRamp(AVVideoCompositionLayerInstruction.CropRectangleRamp)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/addCropRectangleRamp(_:))

Sets a crop rectangle ramp to apply during the specified time range.

[`func cropRectangleRamp(at: CMTime) -> AVVideoCompositionLayerInstruction.CropRectangleRamp?`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/cropRectangleRamp(at:))

Obtains the crop rectangle ramp that includes the specified time.

### Configuring the opacity

[`func setOpacity(Float, at: CMTime)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/setOpacity(_:at:))

Sets the opacity value at a specific time within the time range of the instruction.

[`func addOpacityRamp(AVVideoCompositionLayerInstruction.OpacityRamp)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/addOpacityRamp(_:))

Sets an opacity ramp to apply during a specified time range.

[`func opacityRamp(at: CMTime) -> AVVideoCompositionLayerInstruction.OpacityRamp?`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/opacityRamp(at:))

Obtains the opacity ramp that includes a specified time.

### Configuring the transform

[`func setTransform(CGAffineTransform, at: CMTime)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/setTransform(_:at:))

Sets the transform value at a time within the time range of the instruction.

[`func addTransformRamp(AVVideoCompositionLayerInstruction.TransformRamp)`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/addTransformRamp(_:))

Sets a transform ramp to apply during a given time range.

[`func transformRamp(at: CMTime) -> AVVideoCompositionLayerInstruction.TransformRamp?`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/transformRamp(at:))

Obtains the transform ramp that includes a specified time.

### Inspecting the configuration

[`var trackID: CMPersistentTrackID`](/documentation/AVFoundation/AVVideoCompositionLayerInstruction/Configuration/trackID)

The track identifier of the source track to which the compositor will apply the instruction.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)