Thank you for reporting a bug to Unity. After reviewing the behaviour, we've confirmed it aligns with the current design and intended use of the feature. We understand this may differ from your expectations or workflow. The issues lies the provided repro: In FlyingInput.cs, the callback guard line 43 used context.started instead of if !context.performed. Hold interaction fires Canceled when the map is disabled mid-callback, causing OnDisableFlight to re-enter and invoke OnToggleFlight a second time. At line 43, you need to early out on performed instead: if (!context.performed) return; // instead of: if (context.started) return; We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.