[BUG] get random point in navigable radius

I have a working navigation mesh and from time to time “get random point in navigable radius” returns: X=340282346638528859811704183484516925440.000 Y=340282346638528859811704183484516925440.000 Z=340282346638528859811704183484516925440.000.
This is marked as an invalid value.

Here is a simple BP for a testing actor:

Begin Object Class=K2Node_CustomEvent Name="K2Node_CustomEvent_247"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43152"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43151"
   End Object
   Begin Object Name="EdGraphPin_43152"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6115.EdGraphPin_43219'
   End Object
   Begin Object Name="EdGraphPin_43151"
      PinName="OutputDelegate"
      Direction=EGPD_Output
      PinType=(PinCategory="delegate",PinSubCategoryMemberReference=(MemberParent=BlueprintGeneratedClass'/Game/MyBP/04Crowd/NewBlueprint.NewBlueprint_C',MemberName="randomPlace",MemberGuid=B9A2808749B986FDB21FE78493EC6F60))
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6111.EdGraphPin_43198'
   End Object
   CustomFunctionName="randomPlace"
   Pins(0)=EdGraphPin'EdGraphPin_43151'
   Pins(1)=EdGraphPin'EdGraphPin_43152'
   NodePosX=384
   NodePosY=32
   NodeGuid=B9A2808749B986FDB21FE78493EC6F60
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6111"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43199"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43198"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43197"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43196"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43195"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43201"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43200"
   End Object
   Begin Object Name="EdGraphPin_43199"
      PinName="Time"
      PinToolTip="Time\nFloat\n\nHow long to wait before executing the delegate, in seconds. Setting a timer to <= 0 seconds will clear it if it is set."
      PinType=(PinCategory="float")
      DefaultValue="1"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_43198"
      PinName="Delegate"
      PinFriendlyName="Event"
      PinToolTip="Event\nDelegate"
      PinType=(PinCategory="delegate",PinSubCategoryMemberReference=(MemberParent=Package'"/Script/Engine"',MemberName="TimerDynamicDelegate__DelegateSignature"))
      LinkedTo(0)=EdGraphPin'K2Node_CustomEvent_247.EdGraphPin_43151'
   End Object
   Begin Object Name="EdGraphPin_43197"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target\nKismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_43196"
      PinName="then"
      PinToolTip="\nExec"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_43195"
      PinName="execute"
      PinToolTip="\nExec"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Event_466.EdGraphPin_43132'
   End Object
   Begin Object Name="EdGraphPin_43201"
      PinName="ReturnValue"
      PinToolTip="Return Value\nTimer Handle Structure\n\nThe timer handle to pass to other timer functions to manipulate this timer."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/Engine.TimerHandle')
   End Object
   Begin Object Name="EdGraphPin_43200"
      PinName="bLooping"
      PinToolTip="Looping\nBoolean\n\nTrue to keep executing the delegate every Time seconds, false to execute delegate only once."
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="false"
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="K2_SetTimerDelegate")
   Pins(0)=EdGraphPin'EdGraphPin_43195'
   Pins(1)=EdGraphPin'EdGraphPin_43196'
   Pins(2)=EdGraphPin'EdGraphPin_43197'
   Pins(3)=EdGraphPin'EdGraphPin_43198'
   Pins(4)=EdGraphPin'EdGraphPin_43199'
   Pins(5)=EdGraphPin'EdGraphPin_43200'
   Pins(6)=EdGraphPin'EdGraphPin_43201'
   NodePosX=384
   NodePosY=-144
   NodeGuid=650A0E9047010DD308AA01BF8C681B2C
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6112"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43208"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43207"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43206"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43205"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43204"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43203"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43202"
   End Object
   Begin Object Name="EdGraphPin_43208"
      PinName="ReturnValue"
      PinToolTip="Return Value\nVector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6116.EdGraphPin_43229'
   End Object
   Begin Object Name="EdGraphPin_43207"
      PinName="FilterClass"
      PinToolTip="Filter Class\nNavigation Query Filter Class"
      PinType=(PinCategory="class",PinSubCategoryObject=Class'/Script/Engine.NavigationQueryFilter')
   End Object
   Begin Object Name="EdGraphPin_43206"
      PinName="NavData"
      PinToolTip="Nav Data\nNavigation Data Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.NavigationData')
   End Object
   Begin Object Name="EdGraphPin_43205"
      PinName="Radius"
      PinToolTip="Radius\nFloat"
      PinType=(PinCategory="float")
      DefaultValue="3000"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_43204"
      PinName="Origin"
      PinToolTip="Origin\nVector  (by ref)"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsReference=True,bIsConst=True)
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6114.EdGraphPin_43218'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_43203"
      PinName="WorldContext"
      PinToolTip="World Context\nObject Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      DefaultValue="WorldContext"
      AutogeneratedDefaultValue="WorldContext"
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_43202"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target\nNavigation System Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.NavigationSystem')
      DefaultObject=Default__NavigationSystem
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.NavigationSystem',MemberName="GetRandomPointInNavigableRadius")
   Pins(0)=EdGraphPin'EdGraphPin_43202'
   Pins(1)=EdGraphPin'EdGraphPin_43203'
   Pins(2)=EdGraphPin'EdGraphPin_43204'
   Pins(3)=EdGraphPin'EdGraphPin_43205'
   Pins(4)=EdGraphPin'EdGraphPin_43206'
   Pins(5)=EdGraphPin'EdGraphPin_43207'
   Pins(6)=EdGraphPin'EdGraphPin_43208'
   NodePosX=672
   NodePosY=144
   NodeGuid=A41759C84780FEAFD516A7A06DD1D629
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6114"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43218"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43217"
   End Object
   Begin Object Name="EdGraphPin_43218"
      PinName="ReturnValue"
      PinToolTip="Return Value\nVector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6112.EdGraphPin_43204'
   End Object
   Begin Object Name="EdGraphPin_43217"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target\nActor Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.Actor')
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberName="K2_GetActorLocation",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_43217'
   Pins(1)=EdGraphPin'EdGraphPin_43218'
   NodePosX=416
   NodePosY=144
   NodeGuid=4C3BFA2249FA257C0A688A9511C47AF7
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6115"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43227"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43226"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43225"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43224"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43223"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43222"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43221"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43220"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43219"
   End Object
   Begin Object Name="EdGraphPin_43227"
      PinName="Duration"
      PinToolTip="Duration\nFloat\n\nThe display duration (if Print to Screen is True). Using negative number will result in loading the duration time from the config."
      PinType=(PinCategory="float")
      DefaultValue="2.000000"
      AutogeneratedDefaultValue="2.000000"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_43226"
      PinName="TextColor"
      PinToolTip="Text Color\nLinear Color Structure\n\nWhether or not to print the output to the console"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.LinearColor')
      DefaultValue="(R=0.000000,G=0.660000,B=1.000000,A=1.000000)"
      AutogeneratedDefaultValue="(R=0.000000,G=0.660000,B=1.000000,A=1.000000)"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_43225"
      PinName="bPrintToLog"
      PinToolTip="Print to Log\nBoolean\n\nWhether or not to print the output to the log"
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="true"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_43224"
      PinName="bPrintToScreen"
      PinToolTip="Print to Screen\nBoolean\n\nWhether or not to print the output to the screen"
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="true"
      bAdvancedView=True
   End Object
   Begin Object Name="EdGraphPin_43223"
      PinName="InString"
      PinToolTip="In String\nString\n\nThe string to log out"
      PinType=(PinCategory="string")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6116.EdGraphPin_43230'
   End Object
   Begin Object Name="EdGraphPin_43222"
      PinName="WorldContextObject"
      PinToolTip="World Context Object\nObject Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_43221"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target\nKismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_43220"
      PinName="then"
      PinToolTip="\nExec"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_43219"
      PinName="execute"
      PinToolTip="\nExec"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CustomEvent_247.EdGraphPin_43152'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="PrintString")
   Pins(0)=EdGraphPin'EdGraphPin_43219'
   Pins(1)=EdGraphPin'EdGraphPin_43220'
   Pins(2)=EdGraphPin'EdGraphPin_43221'
   Pins(3)=EdGraphPin'EdGraphPin_43222'
   Pins(4)=EdGraphPin'EdGraphPin_43223'
   Pins(5)=EdGraphPin'EdGraphPin_43224'
   Pins(6)=EdGraphPin'EdGraphPin_43225'
   Pins(7)=EdGraphPin'EdGraphPin_43226'
   Pins(8)=EdGraphPin'EdGraphPin_43227'
   NodePosX=1168
   NodePosY=48
   NodeGuid=F0944AD6455E7FD3F7C8C7BADE9FF72F
   AdvancedPinDisplay=Hidden
   EnabledState=DevelopmentOnly
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6116"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43230"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43229"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43228"
   End Object
   Begin Object Name="EdGraphPin_43230"
      PinName="ReturnValue"
      PinToolTip="Return Value\nString"
      Direction=EGPD_Output
      PinType=(PinCategory="string")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6115.EdGraphPin_43223'
   End Object
   Begin Object Name="EdGraphPin_43229"
      PinName="InVec"
      PinToolTip="In Vec\nVector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6112.EdGraphPin_43208'
   End Object
   Begin Object Name="EdGraphPin_43228"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target\nKismet String Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetStringLibrary')
      DefaultObject=Default__KismetStringLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetStringLibrary',MemberName="Conv_VectorToString")
   Pins(0)=EdGraphPin'EdGraphPin_43228'
   Pins(1)=EdGraphPin'EdGraphPin_43229'
   Pins(2)=EdGraphPin'EdGraphPin_43230'
   NodePosX=1040
   NodePosY=112
   NodeGuid=D5DC534044350B4B674C0DAA9451627C
End Object
Begin Object Class=K2Node_Event Name="K2Node_Event_466"
   Begin Object Class=EdGraphPin Name="EdGraphPin_43132"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_43131"
   End Object
   Begin Object Name="EdGraphPin_43132"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6111.EdGraphPin_43195'
   End Object
   Begin Object Name="EdGraphPin_43131"
      PinName="OutputDelegate"
      Direction=EGPD_Output
      PinType=(PinCategory="delegate",PinSubCategoryMemberReference=(MemberParent=BlueprintGeneratedClass'/Game/MyBP/04Crowd/NewBlueprint.NewBlueprint_C',MemberName="ReceiveBeginPlay"))
   End Object
   EventReference=(MemberParent=BlueprintGeneratedClass'/Game/MyBP/04Crowd/NewBlueprint.NewBlueprint_C',MemberName="ReceiveBeginPlay")
   bOverrideFunction=True
   Pins(0)=EdGraphPin'EdGraphPin_43131'
   Pins(1)=EdGraphPin'EdGraphPin_43132'
   bCommentBubblePinned=True
   NodeGuid=A7D0C2D841BCA762ECCBBBA856317558
End Object

Hello,

Using the blueprint you’ve provided on the default Top Down Project, I’m not seeing any values being returned that look like the ones you’re seeing.

How often are you seeing these values be returned?

Could you post a screenshot of what your level/nav mesh looks like? Is it a large level?

I tested it again and it seems like the invalid resluts appears more often the less area is coverd with navmesh. With a small navVolume and the count of invalid results increased so much that valid resluts became the exception.
But even with a navmesh covering the whole place it gets invalid results something about every 40 calls.
It might be trying to set a point on the walls and can’t cast on any navArea?

I use the starter content map (I’m aware of the navArea not covering the whole place in the screenshot), the transformation handles is where my simple test actor lies.
there are 2 custom navigation areas, 2 NavLinks, a custom pawn and a standard 3rd person pawn.
[Output Log][1]

THX for your help, I attached a the outputLog as a txt :wink:
I let fire a custom event every second to start the print that give these values:

Hello,

I have reproduced your issue and entered a bug report, UE-30355 to be investigated by our developers. Thank you for your report.

Have a great day

I also have this problem, it return these very big, incorrect numbers every time. I’ve noticed that it worked when I’ve first implemented my logic (yesterday) but today it stopped working and now it returns these big numbers. So maybe restarting editor bugged this.

Is it maybe fixed? This bug completely disables my AI…

PS. I’m on 4.12

This issue is still being investigated by our developers; however, there is currently no timeline for when a fix will be released.

Just to add some info: ‘Get Random Reachable Point In Radius’ is also affected - it returns wrong value, usually way too high.

Easiest way to see this is to tell AI to get random reachable point within small radius. But AI won’t go to some nearby spot, but usually try to run to some distant point.

Hello,
This issue is marked as FIXED in 4.15, but in 4.15 I still get the same problem. Get Random Point in Navigable Radius tends to return these very big values.
I’m using 4.15.1 version.

PS. The occasional big numbers are the same as in the report:

X=340282346638528859811704183484516925440.000 Y=340282346638528859811704183484516925440.000 Z=340282346638528859811704183484516925440.000

I guess that it’s easier to reproduce this when having a lot of AIs with these BT tasks of walking to random point in navigable radius.

Update: It seems to generate these big values only right after game start…

**Update2: I think I know what causes this. ** I use dynamic navmesh and navigation invokers. When the world generates, all the invokers generate navmesh around them. When the navmesh is still generating and then I run their behavior tree task, then it generates these big values. But when I wait e.g. 5 seconds before running behavior tree, it works correctly.

Conclusion for this bug: Don’t run any ‘Get Random Point In Radius’ functions right after start (when the navmesh still generates), wait a bit until navmesh is fully generated around invokers.
Thanks!

Hi everyone, I’m still getting this issue in 4.15.2 as well.
Get Random Point in Navigable Radius returns the same numbers reported here. For me it’s an intermittent bug sometimes it occurs sometimes it does not.

Slavq I’ve tried your solution (even though I am not using a dynamic navmesh) and unfortunately the issue still occurs.

Actually, increasing the delay (I was delaying for 1 second, now 3-4 seconds) before running the Get Random Point in Navigable Radius node does seem to have solved the issue…

Same here, running 4.15.3 and seeing the same issue

This Bug is still there on 4.16. its fixed on 4.17 or not? And even delaying the process does not help me. Can someone show me how to delay this 2 year old bug?

Hello,

This bug was reported and verified as resolved as of 4.15.

If you’re running into a similar issue, could you please open a new thread in the bug reports section and provide a detailed list of steps that we can use to reproduce the issue on our end? This way we can track it as a separate issue and get a new bug report in if necessary.

Thanks!

I just encountered this in 4.26. Turns out the value was only usable right after it was produced by the node. If i tried to connect a link back to value later on, i got some obserdly huge numbers. Solution was to store the value in a variable right after the node who produced it and reading it from the variable later on