Getting started
Overview
Install Apple Input Bridge and connect ordinary Input System actions to Apple mobile hardware.
Apple Input Bridge fills the hardware-keyboard and Apple pointer gap for Unity Input System players. It emits ordinary Input System devices, so generic <Mouse> and <Keyboard> bindings continue to work. iPadOS provides full pointer support; iPhone pointing devices use Appleās AssistiveTouch routing.
Requirements
- Unity
6000.0.0f1or newer. - Unity Input System
1.8.1or newer. - iOS or iPadOS
14.0or newer. - Active Input Handling set to Input System Package (New) or Both.
- a physical pointing device or hardware keyboard paired through the operating system.
- AssistiveTouch enabled by the user when using a mouse or trackpad on iPhone; hardware keyboards and iPad pointing devices do not require it.
Installation
Install com.kiwistudios.appleinputbridge through Package Manager or from its package.json. The bridge starts automatically before the first scene unless automatic startup is disabled in its project settings.
The iOS postprocessor adds UIApplicationSupportsIndirectInputEvents, links GameController.framework, and raises deployment targets below 14.0 without lowering stricter project settings. It does not change the project's selected device family. No manual Xcode source changes are required.
Input actions
Existing generic bindings are the recommended integration:
<Mouse>/position
<Mouse>/delta
<Mouse>/leftButton
<Mouse>/rightButton
<Mouse>/middleButton
<Mouse>/scroll
<Keyboard>/a
<Keyboard>/space
<Keyboard>/enterUse <KiwiAppleMouse> or <KiwiAppleKeyboard> only when an action must exclude other devices.
Read KiwiAppleInputBridge.PointerSupport, RequiresAssistiveTouchForPointer, and SupportsPointerLock before presenting platform-specific setup or pointer-lock UI.
Validation
Import Guided Device Validation, add its scene to Build Settings, and build to an iPad or iPhone. The scene selects the 22-step full iPad profile or the 19-step iPhone AssistiveTouch profile automatically. A successful input displays a checkmark. Fail / Continue records the failure and moves to the next test, including when the requested hardware control is unavailable. The primary-click check separates mouse and touchscreen presses and records both target positions. Scroll checks show the live and last Input Action deltas, signed totals, peaks, event timing, and separate native-source telemetry; they require a sustained burst instead of one transient value.
The final report is written beneath Application.persistentDataPath and shown on the summary screen.
Continue with the API reference, compatibility guide, privacy boundary, and troubleshooting guide. Package attribution is recorded in ../CREDITS.md.
Still stuck?
Bring the guided report with you.
Include version 26.8.5, the exact Unity and OS versions, device model, connected hardware, observed behavior, and the guided-validation JSON report.