<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/AppIntentSceneDelegate/scene(_:willPerformAppIntent:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "App Intents",
      "UIKit"
    ],
    "preciseIdentifier" : "s:17_AppIntents_UIKit0A19IntentSceneDelegateP5scene_011willPerformaD0ySo7UISceneC_AA0jaD0_ptF"
  },
  "title" : "scene(_:willPerformAppIntent:)"
}
-->

# scene(_:willPerformAppIntent:)

Asks the scene delegate to prepare the scene for the specified app intent.

```
func scene(_ scene: UIScene, willPerformAppIntent appIntent: any UISceneAppIntent)
```

## Parameters

`scene`

The scene that receives the app intent.

`appIntent`

The app intent that the system is about to perform.

## Discussion

Implement this method in your scene delegate and use it to incorporate the specified app intent into
the scene. For example, you might change the views of your scene to display an entity that the app intent
contains. The system calls the app intent’s [`perform()`](/documentation/AppIntents/AppIntent/perform()) method after this method returns.

If you don’t implement this method in your scene delegate, the system calls the
[`performNavigation(forScene:)`](/documentation/AppIntents/UISceneAppIntent/performNavigation(forScene:)) method of the app intent to configure the scene instead.

---

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)