[4.1.22][BUG]Gizmos error


#1

When I active gizmo, I have this error

IndexOutOfRangeException: Index was outside the bounds of the array.
Pathfinding.GridNode.GetGridGraph (System.UInt32 graphIndex) (at Assets/3rd Party/AstarPathfindingProject/Generators/NodeClasses/GridNode.cs:13)
Pathfinding.GridNode.GetNeighbourAlongDirection (System.Int32 direction) (at Assets/3rd Party/AstarPathfindingProject/Generators/NodeClasses/GridNode.cs:119)
Pathfinding.GridGraph.CreateNavmeshSurfaceVisualization (Pathfinding.GridNodeBase[] nodes, System.Int32 nodeCount, Pathfinding.Util.GraphGizmoHelper helper) (at Assets/3rd Party/AstarPathfindingProject/Generators/GridGenerator.cs:1578)
Pathfinding.GridGraph.OnDrawGizmos (Pathfinding.Util.RetainedGizmos gizmos, System.Boolean drawNodes) (at Assets/3rd Party/AstarPathfindingProject/Generators/GridGenerator.cs:1524)
AstarPath.OnDrawGizmos () (at Assets/3rd Party/AstarPathfindingProject/Core/AstarPath.cs:736)


#2

Hi

Are you doing any modifications to the grid graph? Can you replicate this with a new grid graph?


#3

I have just changed tag values for nodes ( see my other thread)
Also I have this error too when I search a path

IndexOutOfRangeException: Index was outside the bounds of the array.
Pathfinding.GridNode.GetGridGraph (System.UInt32 graphIndex) (at Assets/3rd Party/AstarPathfindingProject/Generators/NodeClasses/GridNode.cs:13)
Pathfinding.ABPath.EndPointGridGraphSpecialCase (Pathfinding.GraphNode closestWalkableEndNode) (at Assets/3rd Party/AstarPathfindingProject/Pathfinders/ABPath.cs:200)
Pathfinding.ABPath.Prepare () (at Assets/3rd Party/AstarPathfindingProject/Pathfinders/ABPath.cs:377)
Pathfinding.Path.Pathfinding.IPathInternals.Prepare () (at Assets/3rd Party/AstarPathfindingProject/Core/Path.cs:784)
Pathfinding.PathProcessor.CalculatePathsThreaded (Pathfinding.PathHandler pathHandler) (at Assets/3rd Party/AstarPathfindingProject/Core/Misc/PathProcessor.cs:328)
UnityEngine.Debug:LogException(Exception)
Pathfinding.PathProcessor:CalculatePathsThreaded(PathHandler) (at Assets/3rd Party/AstarPathfindingProject/Core/Misc/PathProcessor.cs:407)
Pathfinding.<>c__DisplayClass24_0:<.ctor>b__0() (at Assets/3rd Party/AstarPathfindingProject/Core/Misc/PathProcessor.cs:106)
System.Threading.ThreadHelper:ThreadStart()


#4

Ah. Hm… yeah, changing the tags outside the valid range might actually cause weird errors. The tag is stored in a bitpacked field and setting it to a value higher than 32 can cause it to modify other fields.
I will add some error checking for this in my dev version.


#5

ok thanks, that can help a lot because I was a little lost :wink: