Hey ,
To begin, I still dont crash with what you said about the moving Get Player Controller references. But, with that in mind, I do want to explain something to you because the way you are using these nodes makes me think that you don’t fully understand what they are for.
This as example is going to try and get the Pawn owner and then use that as the reference point to try and get the Player Character. Which, simply, you do not need to do and if you do, may cause issues as to what you are seeing. To further explain, this is the function for TryGetPawnOwner:
APawn* UAnimInstance::TryGetPawnOwner() const
{
USkeletalMeshComponent* OwnerComponent = GetSkelMeshComponent();
if (AActor* OwnerActor = OwnerComponent->GetOwner())
{
return Cast<APawn>(OwnerActor);
}
return NULL;
}
This is going to try and get the PawnOwner from a SkeletalMesh reference. So, as an example, if there is no SkeletalMesh reference, the function will return NULL then NULL will be used as the World Context Object, resulting it a crash because NULL won’t be able to find anything.
Try to use these nodes for what they are and don’t try to connect one to another just because they can be. Look into the use cases for these different nodes and read on what they do.
I do not believe that the crash you are experiencing is a bug with the Unreal Engine. Instead, I suggest going through your project and tracking down instances where Blueprint or C++ is being used in a way that is either deprecated (out of date) or where you could be use a NULL reference to try and do something else.
Good luck with your project.