Here’s the situation.
In Blender I create something physics simulation on three different objects. However, one or two of the objects may not move at all during the simulation (because they didn’t get hit by another object).
I export the animation to an FBX with keyframe baking enabled. In Unity, it appears to animate just fine in both the inspector preview and the animation window when played as the only animation in the animation controller.
However, upon further inspection, the objects that didn’t move during the simulation don’t actually have any keyframes in the animation window. Those objects are in the correct position & rotation, so it still seems ok, right?
I have several variations of the animation that I want to use, and they’re all based on the same Blender physics simulation, but with some of the objects slightly offset to create slightly different animations. In Unity, I add each one of these animations to the animation controller.
Now guess what? The animations that worked properly before no longer work properly, because those unmoving objects have no keyframes, so they’re stuck using the starting position of the animation of the prefab that the controller was added to.
A seemingly obvious solution would be for Unity to create a single keyframe at the start of every timeline, for every object, so it will assume it’s correct position and rotation when animated from a shared controller like this.