Migration notes: godot-input-handling
Incremental upgrade for topics this skill covers. Apply one hop, stabilize/test, then next. Never skip hops.
If the project is < 4.0, follow godot-version-migration era bridges (legacy → 3→4) until 4.0, then these hops. Official 3→4: Upgrading from Godot 3 to Godot 4.
3.x → 4.0
Official: Upgrading from Godot 3 to Godot 4
- Prefer
Signal.connect(callable)over stringconnect(converter may leave strings). InputEventWithModifiers:alt/shift/… →alt_pressed/shift_pressed/…InputEventMouseButton.doubleclick→double_click.- Screen/window queries moved OS →
DisplayServer(screen_get_size, etc.).
4.0 → 4.1
Official: Upgrading to Godot 4.1
- Viewports with physics picking enabled auto-mark
InputEvents handled — adjust_unhandled_inputgameplay handlers that expected pick events to bubble. SubViewportContainer.mouse_filterbehavior changed — mouse events may pass through differently; verify UI-over-world click routing.
4.1 → 4.2
Official: Upgrading to Godot 4.2
No skill-relevant breaking changes for this hop.
4.2 → 4.3
Official: Upgrading to Godot 4.3
No skill-relevant breaking changes for this hop.
4.3 → 4.4
Official: Upgrading to Godot 4.4
- Android motion sensors disabled by default — enable Project Settings → Input Devices → Sensors before tilt/virtual-analog input drives gameplay actions.
4.4 → 4.5
Official: Upgrading to Godot 4.5
No skill-relevant breaking changes for this hop.
4.5 → 4.6
Official: Upgrading to Godot 4.6
No skill-relevant breaking changes for this hop.
4.6 → 4.7
Official: Upgrading to Godot 4.7
InputEvent.DEVICE_ID_MOUSE/InputEvent.DEVICE_ID_KEYBOARDreplace magic-1/0for mouse and keyboard — update device routing in glyph prompts and split-screen controllers.- NEVER compare
event.device == 0for mouse/keyboard — joypads may legitimately use device ID0. - New projects default stretch mode
canvas_items+ aspectexpand(wasdisabled/keep) — retest touch/action coordinate mapping on resizable windows.