Hi, in my game, I have a very rare crash when calling RemoveDynamic() from dynamic multicast delegate. I have attached picture of what part of the code it crashes on.
Notable the crash seems to be caused by the delegate Invocation List being Invalid.
I have also attached the callstack up until it’s my code.
ActiveSkill->OnSkillFinished.RemoveDynamic(this, &USkillComponent::OnSkillPerformed);
ActiveSkill = nullptr;
This is the way I am unbinding the delegate before removing reference to my class ActiveSkill (which is UObject derived class)
My question is how does that happen or how can I ensure this does not happen?