Search Issue Tracker
By Design
Votes
2
Found in
2020.2.2f1
2020.2.4f1
2020.3
2021.1
2021.2
Issue ID
1324131
Regression
Yes
"Animator.GetBoneTransform" doesn't get bone's transform from prefab
Reproduction steps:
1. Open attached project "Dellt.zip" and scene "Addon"
2. Enter Play Mode
3. Observe Console window
Expected result: No errors
Actual result: "NullReferenceException: Object reference not set to an instance of an object MecanimToRagdoll.GetBone" error
Reproducible with: 2020.2.2f1, 2020.3.5f1, 2021.1.4f1, 2021.2.0a14
Not reproducible with: 2019.4.24f1, 2020.2.1f1
Could not test with: 2018.4.34f1 (compilation errors break project)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ArgumentOutOfRangeException when manipulating the Project Settings search bar
- [Linux] Touch freezes in Player when any mouse button is clicked
- UnityEngine.Rendering.Volume.OnEnable() is called twice before OnDisable() creating multiple copies of the same volume when a volume is enabled right after Domain Reload when entering Play Mode
- Hinge Joint transforms are reset when toggling the "useMotor" property
- Motion Vector texture reports incorrect Mesh data when Mesh is coming from off-screen
Resolution Note:
GetBoneTransform requires an active animator to return the correct transform.
Prefabs don't have active animators until they are instantiated.
The best way to fix the sample in this case would be to instantiate the prefabs in the Start method, cache the poses from the prefabs for later use, and remove the instantiated prefabs.