<!--
{
  "availability" : [
    "visionOS: 2.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TabletopKit",
  "identifier" : "/documentation/TabletopKit/TabletopInteraction/Delegate/shouldAcceptInteraction(initialValue:handoffValue:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "TabletopKit"
    ],
    "preciseIdentifier" : "s:11TabletopKit0A11InteractionC8DelegateP012shouldAcceptC012initialValue07handoffH0AC03NewC6IntentOAC0H0V_ALSgtF"
  },
  "title" : "shouldAcceptInteraction(initialValue:handoffValue:)"
}
-->

# shouldAcceptInteraction(initialValue:handoffValue:)

Implement `shouldAcceptInteraction(initialValue:handoffValue)` to provide the initial configuration for new interactions,
and to decide if a new interaction should be accepted or rejected.
If this function is not implemented, the default implementation will be used which will reject all handoff interactions
and will accept all other interactions providing the default configuration.

```
func shouldAcceptInteraction(initialValue: TabletopInteraction.Value, handoffValue: TabletopInteraction.Value?) -> TabletopInteraction.NewInteractionIntent
```

## Parameters

`initialValue`

the initial `Value` for this interaction, calculated using the default configuration and constants.

`handoffValue`

if not `nil`, this interaction is trying to take control of an equipment already controlled by another interaction,
causing a “handoff” of the equipment. The value provides the most recent data of the interaction that is
currently controlling the equipment.

## Return Value

the intent that describes the action to be taken on this new interaction (reject or accept with configuration)

---

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)