Reproduction steps:
1. Open the attached “Repro“ project
2. Open the “Assets/OutdoorsScene.unity“ Scene
3. Enter the Play Mode
4. Observe the Game View
Expected result: The Pink and White meshes move in the same way
Actual result: The Pink meshes have a pivot offset, and are not in the correct position
Reproducible with: 2021.3.36f1, 2022.3.16f1, 2023.2.15f1, 6000.0.0b13
Reproducible on: M1 MacOS 14.3.1
Not reproducible on: No other environment tested
Work Around
The issue does not reproduce if the root bone field is left to the default. A work around would be to have the importer select the desired root bone by default. The default root bone is picked out of the list of assigned bones to the SkinnedMeshRenderer. With the current (default) settings only bones that are referenced by skin influences are assigned to SkinnedMeshRenderer. In the case of this mesh for example this does not leave good candidates. There are two options to include the desired bone into the bones list during import:
option 1: Add a triangle that is skinned to the desired root bone in each mesh (or skin an existing vertex in each mesh with a small influence to the desired root bone). The root bone will then have a non-zero influence and will be included in the bones array.
option 2: (not recommended) Disable "Strip Bones" option on the importer. This will assign all transforms as bones to the SkinnedMeshRenderer. This option might have a larger performance impact as it could assign many more bones to SkinnedMeshRenderer.
In both cases, the changes in bones can be monitored through SkinnedMeshRenderer.bones. Once the desired bone is included in the bones array it will be selected as the root bone because it is the 'most' common ancestor.