Running Zone Graph without State Tree

Hello, I’ve been looking into running zone graph calls without using state tree. Is there documentation for doing so out there? I haven’t found a great deal. From what I’ve gathered, I’m able to do most nav items, except I have yet to figure out DistanceAlongLanecalculations.

I can force stop along paths, replan, send them to a new destination all in C++ & processors, etc. But I’m missing where this is DistanceAlongLane is calculated, resulting in them ping ponging on the same traversal zone paths instead of ‘continuing forward’.

Thanks

Looks like its getting overridden here:

const FMassZoneGraphPathPoint& CurrPoint = ShortPath.Points[PointIndex];
const FMassZoneGraphPathPoint& NextPoint = ShortPath.Points[PointIndex + 1];
const float T = (ShortPath.ProgressDistance - CurrPoint.Distance.Get()) / (NextPoint.Distance.Get() - CurrPoint.Distance.Get());

LaneLocation.DistanceAlongLane = FMath::Min(FMath::Lerp(CurrPoint.DistanceAlongLane.Get(), NextPoint.DistanceAlongLane.Get(), T), LaneLocation.LaneLength);

That LaneLocation.LaneLength is 0, debugging further.

And in this case I was the error, I had LaneLength set to 0 on another processor, overriding the value that was already set.

Nothing to see here :).