Currently, we detect whether an anim instance is supported by the skeletal mesh and, if it isn't, unreference the instance, but we don't error or warn the user that this happened. This leads to confusion when systems don't work.
Steps to Reproduce
In an actor class with SkeletalMeshComponent, when I set the component to reference mesh A, but set an animBP that uses skeletal mesh B, it leads to silent error in GetMesh()>SetAnimInstance() and causes a nullptr when I call GetMesh()>GetAnimInstance() which leads to an unexpected crash and no errors or warnings.
1) Have two skeletal meshes MeshA and MeshB
2) Create AnimBP that uses MeshB as the skeletal mesh
3) In a new actor class call GetMesh()->SetSkeletalMesh(MeshA);
4) GetMesh()->SetAnimationMode(EAnimationMode::AnimationBlueprint);
GetMesh()->SetAnimInstanceClass(AnimBP);
5) When calling GetMesh()->GetAnimInstance(), it returns nullptr and no error or warning about mismatch of skeletal mesh between SkeletalMeshComponent and AnimBP.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-364603 in the post.
| 0 |
| Component | UE - Anim - Runtime |
|---|---|
| Affects Versions | 5.3 |
| Created | Feb 9, 2026 |
|---|---|
| Updated | Feb 9, 2026 |