Migration notes: godot-characterbody-2d
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.
4.0 → 4.1
Official: Upgrading to Godot 4.1
Area2D.prioritytype isint(wasfloat) — only affects custom-gravity / conveyor Area setups paired with CharacterBody controllers.- Viewports with physics picking enabled auto-mark
InputEvents handled — adjust drop-through or click-to-move patterns if you relied on unhandled propagation through a physics viewport. PathFollow2D.lookaheadremoved — update moving-platform path followers that CharacterBodies ride.
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 mobile tilt/virtual-stick controllers drive CharacterBody input.
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
PhysicsServer2D.body_set_shape_as_one_way_collision()direction is shape-relative — re-tune one-way platform drop-through; align platform collider rotation or pass explicit direction instead of assuming global up.CollisionShape2Done-way collision direction follows shape orientation — verify tile and StaticBody one-ways still match movement normals after upgrade.- Mouse/keyboard device IDs are
InputEvent.DEVICE_ID_MOUSE/InputEvent.DEVICE_ID_KEYBOARD(not0) — update device-filtered input routing in controllers; joypads may legitimately use ID0.