diff --git a/Unreal/PS_AI_Agent/Plugins/PS_AI_Behavior/Source/PS_AI_Behavior/Private/PS_AI_Behavior_PerceptionComponent.cpp b/Unreal/PS_AI_Agent/Plugins/PS_AI_Behavior/Source/PS_AI_Behavior/Private/PS_AI_Behavior_PerceptionComponent.cpp index 91001be..8da7560 100644 --- a/Unreal/PS_AI_Agent/Plugins/PS_AI_Behavior/Source/PS_AI_Behavior/Private/PS_AI_Behavior_PerceptionComponent.cpp +++ b/Unreal/PS_AI_Agent/Plugins/PS_AI_Behavior/Source/PS_AI_Behavior/Private/PS_AI_Behavior_PerceptionComponent.cpp @@ -263,7 +263,7 @@ AActor* UPS_AI_Behavior_PerceptionComponent::GetHighestThreatActor() { // Owner is the AIController, get the Pawn const AAIController* AIC = Cast(Owner); - const APawn* MyPawn = AIC ? AIC->GetPawn() : Cast(const_cast(Owner)); + const APawn* MyPawn = AIC ? ToRawPtr(AIC->GetPawn()) : Cast(const_cast(Owner)); if (MyPawn) { @@ -369,7 +369,7 @@ AActor* UPS_AI_Behavior_PerceptionComponent::GetHighestThreatActor( // Get our Pawn for IsTargetActorValid checks const AAIController* AIC = Cast(Owner); - APawn* MyPawn = AIC ? AIC->GetPawn() : Cast(const_cast(Owner)); + APawn* MyPawn = AIC ? ToRawPtr(AIC->GetPawn()) : Cast(const_cast(Owner)); // ─── Score accumulation per resolved actor ─────────────────────── // Multiple RawActors can resolve to the same Pawn (e.g. Pawn seen + weapon heard). @@ -611,7 +611,7 @@ float UPS_AI_Behavior_PerceptionComponent::CalculateThreatLevel() // Get our AIController and Pawn for checks const AAIController* AIC = Cast(Owner); - APawn* MyPawn = AIC ? AIC->GetPawn() : Cast(const_cast(Owner)); + APawn* MyPawn = AIC ? ToRawPtr(AIC->GetPawn()) : Cast(const_cast(Owner)); for (AActor* RawActor : PerceivedActors) {