BTTask_MoveTo and EnvQueryTest_Pathfinding don't use the same pattern to obtain the NavigationFilter to be used if the filter is not set. The BTTask_MoveTo uses the controllers GetDefaultNavigationFilterClass which makes sense as the BT default implementation expects an AI Controller to be running it. The EQS test keeps the QueryOwner as a UObject. It appears that EQS does not use an {}AIController{*}'s default navigation filter since EQS does not require a controller to run.
Talking with Mieszko, this can certainly appear like a bug to users even though it is a side effect of the fact that EQS does not require a controller and thus does not check for a controller's default navigation filter. Mieszko proposed to investigate modifying UNavigationQueryFilter::GetQueryFilter so that it calls GetDefaultNavigationFilterClass if the Querier is an AIController.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-169444 in the post.
0 |
Component | UE - AI - EQS |
---|---|
Affects Versions | 5.0 |
Target Fix | 5.6 |
Created | Nov 7, 2022 |
---|---|
Updated | Oct 14, 2024 |