We have just released v2.7 of Mercuna with some very exciting new features:
- Automatic jump link generation – as part of the navgrid build Mercuna can now identify locations where agents can jump across gaps or down from heights and will create nav rails. This saves designers time, as they no longer need to place manual nav links throughout maps and drastically increases places that the AI can go.
- Unreal Gameplay Debugger integration – see all the Mercuna actor debug draw from inside the Gameplay Debugger. By taking advantage of the inbuilt replication, Mercuna debug draw for AI running on the server can now be viewed on clients. This is a powerful tool for debugging multiplayer games.
- Support for UE5.3 – Mercuna fully supports the latest version of Unreal.
Other smaller features include the ability to update steering parameters while a move is in progress, better memory statistics, new navgrid EQS generators, and numerous fixes and small improvements.
Release notes:
Ground Navigation
- Auto generated jump links and jump link following for characters and animals (editor generation only)
- Add EQS queries to generate points in a grid on the nav grid
- API to request nearby polymesh edges and closest point on edge of polymesh
- Improve the accuracy of the end point of partial paths
- Minor improvements to context steering
- Correctly handle arbitrary rotations of stationary obstacles
- Option to clamp destination points on Unreal EQS reachable and path length tests
- Exclude cells from the nav grid if they aren’t reachable from any valid orientation
- Support acceleration based path following for character movement (Unreal)
- Fix short paths occasionally taking a circuitous route
- Fix occasional pathfinding failures related to stationary obstacles
- Fix possibility of some geometry being missed from the nav grid if a nav invoker present when the level is first loaded
- Change the positions passed to the nav link traversal callback to be relative to the nav grid (to avoid threading issues)
- Fix decelerating agents continuously falling off their path when needing to reverse direction
- Agents with Avoidance Mode set to None no longer try to avoid Stationary Obstacles
- Fix some causes of path mismatch between poly mesh path and nav grid path
- Fix occasional failing pathfinds through very high cost modifier volumes
- Add detailed logging of the nav grid build that can be turned on when doing a new engine integration
3D Navigation
- Small increase in performance and reduction in memory usage of the octree
- Improve Octree save time for large maps using World Partition (Unreal)
- Fix paths sometimes not being found through the Octree
- Fix hierarchical path find to small isolated region in adjoining octree generation box
Both
- Support for UE5.3 (Unreal)
- Integration of Mercuna actor debug draw with Unreal Gameplay Debugger (experimental) (Unreal)
- Ability to update various steering parameters without interrupting the current move request
- Ability to override speed for the current move request
- Option to specify start direction on all agent move requests
- Option to specify whether avoidance is performed against destination actor
- Improved memory statistics
- Allow for different engine threading models accessing the Mercuna APIs
- Clarify names of Blueprint “Move To” functions (Unreal)
- Add Nav Testing actor PathfindLatent function and option to disable automatic pathing (Unreal)
- Fixes for problems related to seamless Unreal Server Travel (Unreal)
- Respect active status on Obstacle and Navigation components (Unreal)
- When moving to an actor with default end distance, set end distance based on target actor’s radius (Unreal)
- Fail move request if target is in a different or invalid world (Unreal)
- Fix navigation in rotating nav graphs
- Improve framework for integrating with different profilers
- Respect the NeverSave setting on nav graphs when using Unreal World Partition (Unreal)
- Track actor no longer completes immediately if the destination is at the agent’s current position
- Fix Mercuna being ticked multiple times when there are multiple worlds (Unreal)
- Refactor navigation components to make them easier for derived classes to extend (Unreal)
- Ability to show Mercuna volumes in game mode (Unreal)
- Allow Mercuna Obstacle Component properties to be set through Blueprint (Unreal)
- Fix possible duplication of nav graph chunks in World Partition maps (Unreal)
- When using TrackActor, turn avoidance off against the target actor by default
- Minor improvements to logging
- Fix path following incorrectly completing while path is being extended
- Refactoring and other minor fixes