---
title: "experienceController(_:didChangeAvailableExperiences:)"
framework: avkit
role: symbol
role_heading: Instance Method
path: "avkit/avexperiencecontroller/delegate-swift.protocol/experiencecontroller(_:didchangeavailableexperiences:)"
---

# experienceController(_:didChangeAvailableExperiences:)

Tells the delegate when the available experiences change.

## Declaration

```swift
@MainActor func experienceController(_ controller: AVExperienceController, didChangeAvailableExperiences availableExperiences: AVExperienceController.Experiences)
```

## Parameters

- `controller`: The experience controller.
- `availableExperiences`: The current value of doc://com.apple.avkit/documentation/AVKit/AVExperienceController/availableExperiences.

## Discussion

Discussion Use this callback to hide or show interface elements based on which experiences are possible.

## See Also

### Responding to experience changes

- [experienceController(_:prepareForTransitionUsing:)](avkit/avexperiencecontroller/delegate-swift.protocol/experiencecontroller(_:preparefortransitionusing:).md)
- [experienceController(_:didChangeTransitionContext:)](avkit/avexperiencecontroller/delegate-swift.protocol/experiencecontroller(_:didchangetransitioncontext:).md)
- [AVExperienceController.TransitionContext](avkit/avexperiencecontroller/transitioncontext.md)
