Difference in behavior of RigidbodyInterpolation.Interpolate in unity2018.4.0f1 and unity2022.3.4f1

There is a hierarchy as follows.

  • Parent - AnimTest
  • Child - Cube

Cube is given a Rigidbody, which is initialized in TestAnim.cs given to AnimTest.

using UnityEngine;

class TestAnim : MonoBehaviour
{
    Animator m_Anim;

    void Start()
    {
        m_Anim = GetComponent<Animator>();

        var rb = GetComponentInChildren<Rigidbody>();
        rb.useGravity = false;
        rb.interpolation = RigidbodyInterpolation.Interpolate;
    }

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.R))
        {
            m_Anim.Play("Rotation");
        }
    }
}

Here, when I rotate the parent AnimTest by 0~400 degrees with animation, there was a difference in behavior between Unity2018.4.0f1 and Unity2022.3.4f1.

Specifically, in Unity2018.4.0f1, the Cube follows the parent’s rotation perfectly, but not in Unity2022.3.4f1.

Which behavior is correct?

Below is a screenshot after the rotation is finished.

Unity2018.4.0f1

unity2022.3.4f1