UDN reported: Lyra bots will sometimes play their weapon fire failure anim montage "randomly". The reporting licensee found that this happens when another bot in the level is reloading.
The gameplay ability GA_Weapon_Fire listens for gameplay messages to play an appropriate failure animation when the ability fails to activate, but the current check for player controller is causing false positives for events triggered by bots and listened to by bot owned GA_Weapon_Fire instances.
UnrealEditor-GameplayAbilities.dll!UAbilitySystemComponent::PlayMontage(UGameplayAbility * InAnimatingAbility, FGameplayAbilityActivationInfo ActivationInfo, UAnimMontage * NewAnimMontage, float InPlayRate, FName StartSectionName, float StartTimeSeconds) Line 2982 C++
UnrealEditor-GameplayAbilities.dll!UAbilityTask_PlayMontageAndWait::Activate() Line 124 C++
UnrealEditor-GameplayTasks.dll!UGameplayTask::PerformActivation() Line 294 C++
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7135 C++
UnrealEditor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 1139 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessContextOpcode(FFrame & Stack, void * const Z_Param__Result, bool bCanFailSilently) Line 3086 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!ProcessScriptFunction<void (_cdecl*)(UObject *,FFrame &,void *)>(UObject * Context, UFunction * Function, FFrame & Stack, void * const Z_Param_Result, void[Image Removed](UObject *, FFrame &, void *) ExecFtor) Line 1039 C++
UnrealEditor-CoreUObject.dll!ProcessLocalFunction(UObject * Context, UFunction * Fn, FFrame & Stack, void * const Z_Param__Result) Line 1276 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessInternal(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1304 C++
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7135 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 2144 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!TScriptDelegate<FNotThreadSafeNotCheckedDelegateMode>::ProcessDelegate(void *) Line 447 C++
UnrealEditor-GameplayMessageRuntime.dll!TMulticastScriptDelegate<FNotThreadSafeDelegateMode>::ProcessMulticastDelegate<UObject>(void * Parameters) Line 917 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!FAsyncGameplayMessageDelegate_DelegateWrapper(const TMulticastScriptDelegate<FNotThreadSafeDelegateMode> &) Line 77 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!FAsyncGameplayMessageDelegate::Broadcast(UAsyncAction_ListenForGameplayMessage *) Line 20 C++
UnrealEditor-GameplayMessageRuntime.dll!UAsyncAction_ListenForGameplayMessage::HandleMessageReceived(FGameplayTag Channel, const UScriptStruct * StructType, const void * Payload) Line 99 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!UAsyncAction_ListenForGameplayMessage::Activate::__l8::<lambda_1>::operator()(FGameplayTag StructType, const UScriptStruct * Payload, const void *) Line 45 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!Invoke(UAsyncAction_ListenForGameplayMessage::Activate::__l8::<lambda_1> &) Line 47 C++
UnrealEditor-GameplayMessageRuntime.dll!UE::Core::Private::Function::TFunctionRefCaller<`UAsyncAction_ListenForGameplayMessage::Activate'::`8'::<lambda_1>,void,FGameplayTag,UScriptStruct const *,void const *>::Call(void * Obj, FGameplayTag & <Params_0>, const UScriptStruct * & <Params_1>, const void * & <Params_2>) Line 321 C++
[Inline Frame] UnrealEditor-GameplayMessageRuntime.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<0>,void __cdecl(FGameplayTag,UScriptStruct const *,void const *)>::operator()(FGameplayTag <Params_1>, const UScriptStruct * <Params_2>, const void *) Line 470 C++
UnrealEditor-GameplayMessageRuntime.dll!UGameplayMessageSubsystem::BroadcastMessageInternal(FGameplayTag Channel, const UScriptStruct * StructType, const void * MessageBytes) Line 93 C++
[Inline Frame] UnrealEditor-LyraGame.dll!UGameplayMessageSubsystem::BroadcastMessage(FGameplayTag) Line 118 C++
> UnrealEditor-LyraGame.dll!ULyraGameplayAbility::NativeOnAbilityFailedToActivate(const FGameplayTagContainer & FailedReason) Line 130 C++
[Inline Frame] UnrealEditor-LyraGame.dll!ULyraGameplayAbility::OnAbilityFailedToActivate(const FGameplayTagContainer &) Line 142 C++
[Inline Frame] UnrealEditor-LyraGame.dll!ULyraAbilitySystemComponent::HandleAbilityFailed(const UGameplayAbility *) Line 411 C++
UnrealEditor-LyraGame.dll!ULyraAbilitySystemComponent::NotifyAbilityFailed(const FGameplayAbilitySpecHandle Handle, UGameplayAbility * Ability, const FGameplayTagContainer & FailureReason) Line 351 C++
UnrealEditor-GameplayAbilities.dll!UAbilitySystemComponent::InternalTryActivateAbility(FGameplayAbilitySpecHandle Handle, FPredictionKey InPredictionKey, UGameplayAbility * * OutInstancedAbility, TDelegate<void __cdecl(UGameplayAbility *),FDefaultDelegateUserPolicy> * OnGameplayAbilityEndedDelegate, const FGameplayEventData * TriggerEventData) Line 1790 C++
UnrealEditor-GameplayAbilities.dll!UAbilitySystemComponent::TriggerAbilityFromGameplayEvent(FGameplayAbilitySpecHandle Handle, FGameplayAbilityActorInfo * ActorInfo, FGameplayTag EventTag, const FGameplayEventData * Payload, UAbilitySystemComponent & Component) Line 2477 C++
UnrealEditor-GameplayAbilities.dll!UAbilitySystemComponent::HandleGameplayEvent(FGameplayTag EventTag, const FGameplayEventData * Payload) Line 2525 C++
UnrealEditor-GameplayAbilities.dll!UAbilitySystemBlueprintLibrary::SendGameplayEventToActor(AActor * Actor, FGameplayTag EventTag, FGameplayEventData Payload) Line 44 C++
UnrealEditor-GameplayAbilities.dll!UAbilitySystemBlueprintLibrary::execSendGameplayEventToActor(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 5179 C++
UnrealEditor-CoreUObject.dll!UObject::execCallMathFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1075 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!ProcessScriptFunction<void (_cdecl*)(UObject *,FFrame &,void *)>(UObject * Context, UFunction * Function, FFrame & Stack, void * const Z_Param_Result, void[Image Removed](UObject *, FFrame &, void *) ExecFtor) Line 1039 C++
UnrealEditor-CoreUObject.dll!ProcessLocalFunction(UObject * Context, UFunction * Fn, FFrame & Stack, void * const Z_Param__Result) Line 1276 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!FFrame::Step(UObject *) Line 478 C++
UnrealEditor-CoreUObject.dll!ProcessLocalScriptFunction(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1206 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessInternal(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 1304 C++
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7135 C++
UnrealEditor-CoreUObject.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 2144 C++
UnrealEditor-AIModule.dll!UBTService_BlueprintBase::ReceiveTickAI(AAIController * OwnerController, APawn * ControlledPawn, float DeltaSeconds) Line 410 C++
UnrealEditor-AIModule.dll!UBTService_BlueprintBase::TickNode(UBehaviorTreeComponent & OwnerComp, unsigned char * NodeMemory, float DeltaSeconds) Line 116 C++
UnrealEditor-AIModule.dll!UBTAuxiliaryNode::WrappedTickNode(UBehaviorTreeComponent & OwnerComp, unsigned char * NodeMemory, float DeltaSeconds, float & NextNeededDeltaTime) Line 75 C++
UnrealEditor-AIModule.dll!UBehaviorTreeComponent::TickComponent::__l37::<lambda_3>::operator()(const UBTAuxiliaryNode & AuxNode) Line 1758 C++
[Inline Frame] UnrealEditor-AIModule.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::FFunctionRefStoragePolicy,void __cdecl(UBTAuxiliaryNode const &)>::operator()(const UBTAuxiliaryNode &) Line 470 C++
UnrealEditor-AIModule.dll!FBehaviorTreeInstance::ExecuteOnEachAuxNode(TFunctionRef<void __cdecl(UBTAuxiliaryNode const &)> ExecFunc) Line 356 C++
UnrealEditor-AIModule.dll!UBehaviorTreeComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction * ThisTickFunction) Line 1751 C++
[Inline Frame] UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTick::__l2::<lambda_1>::operator()(float) Line 1217 C++
[Inline Frame] UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTickHelper(UActorComponent *) Line 4673 C++
UnrealEditor-Engine.dll!FActorComponentTickFunction::ExecuteTick(float DeltaTime, ELevelTick TickType, ENamedThreads::Type CurrentThread, const TRefCountPtr<FBaseGraphTask> & MyCompletionGraphEvent) Line 1215 C++
UnrealEditor-Engine.dll!FTickFunctionTask::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FBaseGraphTask> & MyCompletionGraphEvent) Line 279 C++
UnrealEditor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() Line 634 C++
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 502 C++
[Inline Frame] UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> &) Line 482 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 779 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilIdle(int QueueIndex) Line 679 C++
UnrealEditor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup(ETickingGroup WorldTickGroup, bool bBlockTillComplete) Line 574 C++
UnrealEditor-Engine.dll!FTickTaskManager::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 1583 C++
UnrealEditor-Engine.dll!UWorld::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 774 C++
UnrealEditor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1505 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2035 C++
UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++
UnrealEditor-LyraEditor.dll!ULyraEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 39 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5838 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 72 C++
UnrealEditor.exe!GuardedMain::__l2::<lambda_2>::operator()(verse::FExecutionContext Context) Line 199 C++
[Inline Frame] UnrealEditor.exe!verse::FExecutionContext::Create(const GuardedMain::__l2::<lambda_2> &) Line 47 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 136 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 266 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 317 C++
[External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-217822 in the post.
| 0 |
| Component | UE - Gameplay |
|---|---|
| Affects Versions | 5.2, 5.3, 5.4 |
| Target Fix | 5.5 |
| Fix Commit | 34334778 |
|---|
| Created | Jun 12, 2024 |
|---|---|
| Resolved | Jun 13, 2024 |
| Updated | Jun 17, 2024 |