<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVKit",
  "identifier" : "/documentation/AVKit/AVExperienceController/TransitionContext",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "AVKit"
    ],
    "preciseIdentifier" : "s:5AVKit22AVExperienceControllerC17TransitionContextV"
  },
  "title" : "AVExperienceController.TransitionContext"
}
-->

# AVExperienceController.TransitionContext

The state of the transition that the system provides to the delegate object.

```
@preconcurrency struct TransitionContext
```

## Overview

When `AVExperienceController` transitions its `experience` from `fromExperience` to `toExperience`, delegate callbacks provide instances of `TransitionContext` to allow clients to respond as the transition progresses or reverts. The normal `Status` sequence is `.preparing` -> `.transitioning` -> `.completed` Once `.completed`, `AVExperienceController`’s `experience` is now the `toExperience`.

Not all transitions are `.completed`, instead they are `.reversed` back to the `fromExperience`. Reversed transitions can happen after `.preparing` or after `.transitioning`, but it will not happen after `.completed` or before `.preparing`. When a transition is reversed a reason is provided.

## Topics

### Inspecting the transition

[`let fromExperience: AVExperienceController.Experience`](/documentation/AVKit/AVExperienceController/TransitionContext/fromExperience)

The experience of the `AVExperienceController` before the transition was initiated.

[`let toExperience: AVExperienceController.Experience`](/documentation/AVKit/AVExperienceController/TransitionContext/toExperience)

The experience to which the `AVExperienceController` has been requested to transition to.

[`let status: AVExperienceController.TransitionContext.Status`](/documentation/AVKit/AVExperienceController/TransitionContext/status-swift.property)

The status of the transition.

### Understanding transition results

[`enum Status`](/documentation/AVKit/AVExperienceController/TransitionContext/Status-swift.enum)

Describes the status of a transition.

[`enum TransitionResult`](/documentation/AVKit/AVExperienceController/TransitionContext/TransitionResult)

Describes the result of a transition.

[`enum ReversedReason`](/documentation/AVKit/AVExperienceController/TransitionContext/ReversedReason)

## Relationships

### Conforms To

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

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

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

---

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)