AI Controller spawned by AutoPossessAi doesn't possess the character

Slight update: I also tried disabling autopossess, spawning controller and possessing manually, but the effect is the same. Here’s code:

ACharacterBase* TempCharacter = GetWorld()->SpawnActor<ACharacterBase>(CurrentClass, SpawnLocation, FRotator());

		if (!TempCharacter)
		{
			UE_LOG(LogTemp, Error, TEXT("Character was not spawned!"));
			return;
		}		
		AGP2_AIController* TempController = GetWorld()->SpawnActor<AGP2_AIController>(AGP2_AIController::StaticClass(), SpawnLocation, FRotator());
		if (!TempController)
		{
			UE_LOG(LogTemp, Error, TEXT("AI Controller was not spawned!"));
			return;
		}
		TempController->Possess(TempCharacter);

Don’t see anything related in log.