I have this code to spawn AI character:
FActorSpawnParameters ControllerSpawnParameters;
ControllerSpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
FActorSpawnParameters CharacterSpawnParameters;
CharacterSpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButAlwaysSpawn;
const auto Controller = GetWorld()->SpawnActor<AAIControllerBase>(ControllerClass, ControllerSpawnParameters);
if (Controller == nullptr)
{
return;
}
auto Character = GetWorld()->SpawnActor<AAICharacter>(
CharacterClass
, GetComponentLocation()
, GetComponentRotation()
, CharacterSpawnParameters
);
if (Character == nullptr)
{
return;
}
Controller->SetPawn(Character);
Execution flow reaches the call to SetPawn(), but it doesn’t work. The spawned character is not possessed by the controller, as you see in image below, and so it doesn’t do any behavior tree logic. Can anyone help me?