Sorry to be clear, we arent doing this every tick, but there are places in our game where the user action will cause different weapons to be “picked up” which then causes a new weapon actor to spawn and that is when the SetMasterPoseComponent occurs.
Now to get around this I ended up doing the following which seems to of worked:
void USkeletalMeshComponent::AddSlavePoseComponent(USkinnedMeshComponent* SkinnedMeshComponent)
{
Super::AddSlavePoseComponent(SkinnedMeshComponent);
#if 1 //UG_CHANGE - bdriehuis - make sure the parallel anim task completes first!
if (ParallelAnimationEvaluationTask.IsValid() && ParallelAnimationEvaluationTask->IsComplete() == false)
{
HandleExistingParallelEvaluationTask(true, true);
}
#endif
bRequiredBonesUpToDate = false;
}
I am not sure if this has any side effects and this again is only solving our one case. I know it will be a rare crash, but if say we were hiding or showing a bone in tick, we could seemingly get the same crash.