4.19버전 이후부터 애님블루프린트를 적용하는 방법이 살짝 달라졌다고 하는데, 그 이유는 나도 잘 모르겠다… 오히려 틀린 부분일 수 있지만 일단 오늘 하루종일 애님인스턴스가 왜 안받아와지는지에 대해서 씨름했기 때문에 정리해둔다.

생성자에서 아래와 같이 코드를 작성한 후

	//Animation Setup
	GetMesh()->SetAnimationMode(EAnimationMode::AnimationBlueprint);
	static ConstructorHelpers::FObjectFinder<UAnimBlueprint> AnimBP(TEXT("AnimBlueprint'/Game/Character/Animations/Blueprint/AnimBP_Character.AnimBP_Character'"));
	if (AnimBP.Succeeded())
	{
		GetMesh()->SetAnimInstanceClass(AnimBP.Object->GetAnimBlueprintGeneratedClass());
	}

생성자에서는 애님인스턴스가 설정되지 않는다. 생성자 타이밍에선 에디터로 아직 가기 전이라 블루프린트에 대한 권한이 없다고 한다.

https://answers.unrealengine.com/questions/279928/why-does-getmesh-getaniminstance-returns-null.html

어쨋든 나는 PostInitializeComponents 함수에서 애님인스턴스를 적용했다.

void AGlowingGenocideCharacter::PostInitializeComponents()
{
	Super::PostInitializeComponents();
	animInstance = Cast<UGlowingGenocideAnimInstance>(GetMesh()->GetAnimInstance());
}

이딴걸로 2시간을 까먹어버렸다… 하… 내인생..ㅠ