Here is workaround in case AIPerception Component added to Blueprint.
declare function in C++ and call it in BeginPlay
header:
UFUNCTION(BlueprintCallable, Category = "Helper")
void UpdateDetectionByAffiliation();
cpp:
void AAIC_BaseCPP::UpdateDetectionByAffiliation()
{
UAIPerceptionComponent *percComp = GetAIPerceptionComponent();
if (!percComp)
return;
UAISenseConfig_Sight *sightConfig = Cast<UAISenseConfig_Sight>(percComp->GetSenseConfig(UAISense::GetSenseID(UAISense_Sight::StaticClass())));
if (sightConfig)
{
sightConfig->DetectionByAffiliation.bDetectEnemies = true;
sightConfig->DetectionByAffiliation.bDetectFriendlies = true;
sightConfig->DetectionByAffiliation.bDetectNeutrals = true;
}
UAISenseConfig_Hearing *hearingConfig = Cast<UAISenseConfig_Hearing>(percComp->GetSenseConfig(UAISense::GetSenseID(UAISense_Hearing::StaticClass())));
if (hearingConfig)
{
sightConfig->DetectionByAffiliation.bDetectEnemies = true;
sightConfig->DetectionByAffiliation.bDetectFriendlies = true;
sightConfig->DetectionByAffiliation.bDetectNeutrals = true;
}
percComp->RequestStimuliListenerUpdate();
}