## Pathfinder3D Global Change Log

- Coroutine-based pathfinding in three-dimensional space algorithm implemented(mod. AStar

algorithms); - Trajectories smoothing and optimizing tools;
- Tool for moving across calculated trajectory;
- Users API for asset integration implemented;
- Finite state machine for Purser class implemented.

- Multithreading implemented;
- Preliminary scene processing ability implemented;

Obstacles variability. - Now obstacles can be not only gameobjects with some kind of colliders, but the any other objects you want;
- All algorithms were rewritten and optimized. AStar pathfinding was accelerated per 30 percents.
- The event system, based on SendMessage mechanism, was implemented.

Ability to update the trajectory to the moving target implemented (trajectory refining).

- Custom inspector for “SpaceManager” and “Pursuer” classes implemented;
- In editor mode now possible to highlight occupied cells;
- Accelerating AStar algorithm, about per 5 percents;
- Jerking bug at trajectory refining process fixed. (Now there is no jerking during recalculating

trajectory to the moving target); - Wave-trace algorithm implemented. (More effective then AStar for levels with maze-typ

configuration); - Minor bugs fixed.

- Multi-leveled spatial graph implemented;
- Improving of optimization and smoothing algorithm, based on multi-level cells traversing Now,

after optimization and smoothing, the trajectory will contain fewer kinks, loops and excesses; - Possibility to search for a path on any spatial graph level implemented;
- Spatial graph pre-game calculating ability implemented;
- Serialization/deserialization of the spatial graph implemented (The tool derives from clause 4);

- Non-blocking dictionary implemented (using for occupied cells storaging);
- Obstacle handling distribution to async tasks was improved;
- Configuring the use of multithreading placed in the SpaceManager script inspector;
- Fixed a bug due to which the increment of the counter of processed triangles did not occur

correctly; - Added XML comments to the following classes: SpaceGraph, SpaceManager, SpaceHandler,

Pursuer.

- Fixed a bug in the multithreading, which caused handeling to hang when the number of threads is more than 12.

- Asset was transferred to 2018 version of unity. (2018.3.0);
- Now the spatial graph storage is based on C#-built in ConcurrentDictionary, that much faster, than

version, that we used before; - Asset work, in general, has become faster and smoother. This was made possible thanks to some

improvements in the use of multithreading; - Fixed a bug in the work of the obstacles handler, which led to incorrect results in some situations.

- Asset was transferred to 2018.3.4 version of unity.
- A serious bug in multithreaded code has been fixed, leading to deadlocks and errors on machines

with a large number of cores. - Fixed a bug in the graph deserialization code, which led to incorrect extraction of the cell size from

a binary file.