Any way to extend the range of pathfinding service?

I’m making something that requires pathfinding service to work across a pretty large range and I was wondering if anyone had discovered a method or a tool that would allow the pathfinding service to extend longer distances. It’s really necessary for what I’m doing so I’d really appreciate all the help I can get!

I’ve tried @sleitnick’s module, but it appears it has broken over the years?
https://www.roblox.com/library/181218987/Pathfinder-API

It claims to be able to pathfind large distances but when I try to do that in practice it usually ends up giving an empty table of waypoints. Works fine at short distances, hopefully someone can assist :slight_smile:.

1 Like

If I am correct your issue has to due with the params being sent to the pathfinding function. As said in the pathfindingservice developer hub page, creating a path requires three parameters to properly work, one of which being agent radius. In short words that determines the distance the path can go. Increasing that should fix your issue.

I also made a pathfinding module called EZ Pathfinding V3 and it should work with long distances if my solution did not work.

1 Like

Oh wow thanks. I thought the radius parameter was used to determine the radius of the actor (to avoid going through small alleyways if you’re pathfinding for a large semi truck or something). Thanks for the response I’ll be sure to check it out.

1 Like

Hey, so I’m still having some trouble. I’m trying to create the navigation points between two bricks, and I’m not sure if this is a pathfinding service glitch or what, but even after setting the radius to math.huge, I’m still getting empty results for pathfinding calls that I know should be capable of being fulfilled. Let me upload a video for reference:

https://streamable.com/htajym

See how far away, and even up close, the path is still not being created until the very end? Side note: the path recalculates every time I change the bool value, regardless of whether it’s true or false.

Also, after reviewing the dev forum post I think the radius property may be used for what I had thought initially:

Minimum separation, meaning the separation of obstacles has to be larger than x amount in order for the path to qualify.

1 Like

May I see your code so that I can review it. For some reason when I set agent radius higher, the path extended further than normal. It could also mean the separation from the start to end point as in that space contains “obstacles”.

Yes, here it is

local pathfindingService = game:GetService("PathfindingService")


local function computePath()

	local startPosition = workspace.start.Position
	local endPosition = workspace["end"].Position

	local Path = pathfindingService:CreatePath({
		["AgentRadius"] = math.huge,
		["AgentHeight"] = 0,
		["AgentCanJump"] = true,
	})
	Path:ComputeAsync(startPosition, endPosition)

	local points = Path:GetWaypoints()

	local lastPoint

	print(points)

	for _,v in pairs(points) do
		local p = Instance.new("Part")
		p.Size = Vector3.new(1,1,1)
		p.Anchored = true
		p.Position = v.Position
		if lastPoint then
			p.CFrame = CFrame.new(v.Position, lastPoint) * CFrame.Angles(0,math.rad(180),0)
		end
		p.Parent = workspace.points
		lastPoint = v.Position
	end
	
end

computePath()

workspace.recomputePath.Changed:Connect(computePath)

Where’s the solution? I got the same problem

Sorry for bumping, but a lot of developers are refering to this, so I would like to tell something.

Agent Radius is the distance to keep as minimum distance away from any obstacle, if you keep it math.huge, then even if there is 1 obstacle in game, then there will be no path

8 Likes