# Input for iOS devices

> Understand how to detect and handle input from touch, game controllers, and onboard sensors on iOS devices.

Mobile devices are the primary target for iOS applications. Unity provides an [Input System package](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest) to handle user input on iOS devices. This input solution is enabled by default for new projects.

> **Note:**
>
> Unity also supports the legacy [Input Manager](/engine/6000.0/manual/input/legacy/class-input-manager.md) for existing projects. You can choose between the two input solutions through **iOS Player settings** > **Other Settings** > **Configuration** > [**Active Input Handling**](/engine/6000.0/manual/platform-specific/iphone/getting-started/class-player-settings-ios.md#Configuration).

The Input System package supports a variety of input sources on iOS devices, including touchscreen, game controllers, and sensors such as the accelerometer and gyroscope. For more information, refer to [Supported input devices](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest?subfolder=/manual/supported-devices-reference.html) in the Input System package documentation.

## Game controller support

Unity supports Made for iOS (MFi) game controllers on iOS devices. To handle controller input, use the [Input System package APIs](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest/index.html?subfolder=/manual/devices-gamepads.html). The same button-remapping workflow applies to iOS and tvOS. For the steps and the list of supported controllers, refer to [Remap buttons for a MFi controller](/engine/6000.0/manual/platform-specific/tv-os-introducing/tv-os-developing/tvos-input/tvos-remap-mfi-controller-buttons.md).

## iOS touchscreen keyboard

iOS devices include a touchscreen keyboard. When you select editable UI elements such as [Input Fields](https://docs.unity3d.com/Packages/com.unity.ugui@latest?subfolder=/manual/script-InputField.html), Unity automatically activates the iOS touchscreen keyboard and handles the input. For more information on how to manually activate and configure the iOS touchscreen keyboard, refer to [Mobile Keyboard](/engine/6000.0/manual/input/mobile-keyboard.md).

## Additional resources

* [Introduction to Input](/engine/6000.0/manual/input/introduction.md)
* [Input System](https://docs.unity3d.com/Packages/com.unity.inputsystem@latest)
* [Mobile Keyboard](/engine/6000.0/manual/input/mobile-keyboard.md)
* [Input for tvOS](/engine/6000.0/manual/platform-specific/tv-os-introducing/tv-os-developing/tvos-input.md)
