Hello there. I have a problem and I haven’t found a solution anywhere for it.
I’m currently trying to change a character’s mesh and animation BP at runtime and I have this:
UPROPERTY(...) UAnimBlueprintGeneratedClass * m_secondaryRascalAnimClass;
GetMOwner()->GetMesh()->SetSkeletalMesh(m_secondaryRascalMesh);
GetMOwner()->GetMesh()->SetAnimInstanceClass(m_secondaryRascalAnimClass);
This sets the secondary mesh properly and it’s AnimBP (introduced from editor into this UAnimBlueprintGeneratedClass *).
This works like a charm but, my problem is:
I need to store the primary animBP and mesh, so I can get back to them eventually. When I try to store an UAnimBlueprintGeneratedClass, in order to call SetAnimInstanceClass() again, I can’t get it.
m_primaryRascalAnimClass = GetMOwner()->GetMesh()->AnimBlueprintGeneratedClass;
That is returning null, both in an Init() method and in Tick()… While I’m debugging I clearly see that the class is the AnimBP I want to get, but it’s of type UAnimInstance * and SetAnimInstanceClass() doesn’t accept that, so I need an UAnimBlueprintGeneratedClass *, as I use for the secondary.
Does someone know how I can get this?
Thanks in advance!