UGameplayStatics::FindActorsOfType() not working

I feel like im going insane.

I have a custom character (ASkeletonEnemy) which derives from another class, AAIEnemy, which in turn derives from ACharacter.

AAIEnemy and ASkeletonEnemy share the same controller that contains a reference to certain TargetPoints in the map. To find these, when the Character gets possessed, it calls the following function:


void AEnemyController::OnPossess(APawn* PossessedPawn)

	AAIEnemy* Enemy = Cast<AAIEnemy>(PossessedPawn);
	PossessedPawnRef = PossessedPawn;

	if (Enemy)

		UGameplayStatics::GetAllActorsOfClass(GetWorld(), AEnemyTargetPoint::StaticClass(), PatrolPoints);

		GEngine->AddOnScreenDebugMessage(-1, 7.f, FColor::Green, TEXT("Should have found the TPs"));

		if(PatrolPoints.Num() == 0) GEngine->AddOnScreenDebugMessage(-1, 7.f, FColor::Green, TEXT("Failed to find	"));

		if (Enemy->Tree->BlackboardAsset)


However, when i go to read the array that the references to the TPs should have been allocated to, i realize (after several crashes), that the TArray<> was empty.

The real problem comes from the fact that when i place AAIEnemy in the world, it works perfectly. But, when i place ASkeletonEnemy with the exact same configuration, it magically doesnt find the target points anymore.

I’ve been stuck on this for 3 hours and im losing my mind.

If you need additional context, please say so and i will happily provide.