EQS circle generator cant bind "NumberOfPoints" parameter

When I manually set “NumberOfPoints” in EQS editor - its work just fine.

But when I trying to create query in c++:

FEnvQueryRequest QueryRequest(QueryTemplateForMoving, m_MoveCenter);

	QueryRequest.SetFloatParam(FName(TEXT("Radius")), Reaction->Radius);
	//QueryRequest.SetFloatParam(FName(TEXT("Space")), Reaction->Space);
	QueryRequest.SetFloatParam(FName(TEXT("MinimalOffset")), 0.f);
        QueryRequest.SetIntParam(FName(TEXT("NumberOfPoints")), 25);
	QueryRequest.Execute(EEnvQueryRunMode::AllMatching, this, &UBTTaskPQuery::OnGetPlacesQueryFinished);

So I waiting 25 points - but it generating only default 8, or that value which was manually setted in EQS by editor.

I investigated this issue and find that “EnvQueryGenerator_OnCircle.cpp” at begining of UEnvQueryGenerator_OnCircle::GenerateItems() function didn’t binding this variable at all.
For example see lines 131-139 EnvQueryGenerator_OnCircle.cpp:

CircleRadius.BindData(QueryOwner, QueryInstance.QueryID);
	SpaceBetween.BindData(QueryOwner, QueryInstance.QueryID);
	ArcAngle.BindData(QueryOwner, QueryInstance.QueryID);
	CircleCenterZOffset.BindData(QueryOwner, QueryInstance.QueryID);

	float AngleDegree = ArcAngle.GetValue();
	float RadiusValue = CircleRadius.GetValue();
	float ItemSpace = SpaceBetween.GetValue();
int32 NumPoints = NumberOfPoints.GetValue(); // <- this variable 

Here we have some bindings, but NumberOfPoints didnt bound anywhere.

Hello,

I have attempted to reproduce this issue in my own test project, but I’m not seeing the same results. Would you be able to zip up your project, upload it to dropbox, and provide me with a link to download it? You can PM me the link on the forums: https://forums.unrealengine.com/member.php?160394-Sean-Flint

After I sended test project through PM, I managed temporary fix this bug.
In EnvQueryGenerator_OnCircle.cpp I inserted line 135 like this:

	CircleRadius.BindData(QueryOwner, QueryInstance.QueryID);
	SpaceBetween.BindData(QueryOwner, QueryInstance.QueryID);
	ArcAngle.BindData(QueryOwner, QueryInstance.QueryID);
	CircleCenterZOffset.BindData(QueryOwner, QueryInstance.QueryID);
	NumberOfPoints.BindData(QueryOwner, QueryInstance.QueryID);//<- inserted line

	float AngleDegree = ArcAngle.GetValue();
	float RadiusValue = CircleRadius.GetValue();
	float ItemSpace = SpaceBetween.GetValue();
	int32 NumPoints = NumberOfPoints.GetValue();

Now binding work at my local projects.

Hey nynjed,

If you’ve been able to resolve this issue in the source, feel free to enter a pull request: https://github.com/EpicGames/UnrealEngine/compare

This will allow us to pull the fix into the engine, and will also earn you credit as an Engine Contributor.

Have a great day

I thought about this. Maybe will try to do this. But I’m not good with GIT, so it can take some time before I will figured out how to do this right. So if somebody do it before me - I will not be against this.