AnimatableBody2D inside AnimatableBody2D doesn't rotate as expected

Godot Version

4.3 stable

Question

Test/demo project: https://we.tl/t-cKTLB09U7S

One AnimatableBody2D is a child of another. Both have separate rotation scripts. The parent rotates as expected, but the child doesn’t seem to respect its rotation pivot and moves wildly instead of staying attached to its parent.

My solution was to put the child in a Node2D and give it the rotation script. It just acts as a pivot point. It worked; the AnimatableBody2D/Node2D combo followed its parent’s rotation as expected.

However, collision that used to work on the child quit working. I’ve double-checked that the Collision Mask etc haven’t changed.

  1. Is there a better solution than introducing a Node2D pivot? or
  2. Why would collision stop working after re-parenting?