diff --git a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp index 6d74758..4b3e241 100644 --- a/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp +++ b/Unreal/PS_AI_Agent/Plugins/PS_AI_ConvAgent/Source/PS_AI_ConvAgent/Private/PS_AI_ConvAgent_ElevenLabsComponent.cpp @@ -1213,6 +1213,14 @@ void UPS_AI_ConvAgent_ElevenLabsComponent::OnRep_ConversationState() { AActor* Owner = GetOwner(); + UE_LOG(LogPS_AI_ConvAgent_ElevenLabs, Log, + TEXT("[NET-REP] OnRep_ConversationState — bNetIsConversing=%s NetConversatingPawn=%s NetConversatingPlayer=%s Owner=%s Role=%d"), + bNetIsConversing ? TEXT("true") : TEXT("false"), + NetConversatingPawn ? *NetConversatingPawn->GetName() : TEXT("NULL"), + NetConversatingPlayer ? *NetConversatingPlayer->GetName() : TEXT("NULL"), + Owner ? *Owner->GetName() : TEXT("NULL"), + static_cast(GetOwnerRole())); + if (Owner) { // Update posture target on all clients so the NPC head/eyes track the @@ -1228,13 +1236,24 @@ void UPS_AI_ConvAgent_ElevenLabsComponent::OnRep_ConversationState() Posture->TargetActor = NetConversatingPawn; Posture->ResetBodyTarget(); Posture->bEnableBodyTracking = true; + UE_LOG(LogPS_AI_ConvAgent_ElevenLabs, Log, + TEXT("[NET-REP] Posture TargetActor set to %s"), *NetConversatingPawn->GetName()); } else { Posture->TargetActor = nullptr; Posture->bEnableBodyTracking = false; + UE_LOG(LogPS_AI_ConvAgent_ElevenLabs, Warning, + TEXT("[NET-REP] Posture TargetActor cleared — bNetIsConversing=%s Pawn=%s"), + bNetIsConversing ? TEXT("true") : TEXT("false"), + NetConversatingPawn ? TEXT("valid") : TEXT("NULL")); } } + else + { + UE_LOG(LogPS_AI_ConvAgent_ElevenLabs, Warning, + TEXT("[NET-REP] PostureComponent NOT FOUND on %s"), *Owner->GetName()); + } // Activate/deactivate facial expressions and lip sync for remote clients. // On the server, this is handled by OnAgentConnected/OnAgentDisconnected,