Infohazard.HyperNav 2.1.0
A pathfinding and avoidance solution for volumetric and omnidirectional navigation.
Loading...
Searching...
No Matches
Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.0.0] - 2025-2-11

Added

  • Support for runtime data generation.
    • Baking of volumes should be much faster at edit time as well.
    • Both the volume data itself and the external links can be generated at runtime.
    • Added new demo scenes for this functionality.
  • Surface-based omnidirectional navigation.
    • A new type of area called a NavSurface is introduced.
    • This allows pathfinding for agents that walk on surfaces.
    • Supports standard gravity, omnidirectional normal-based gravity, and custom upward directions.
    • Integrates with volume-based navigation via external links.
    • A single pathfinding job can include both surface and volume-based navigation.
  • Pre-made mover component.
    • A script is provided to get an agent up and running quickly, that can move towards or follow a target.
    • Handles some of the most common agent behaviors such as re-pathing when the target moves or after a certain time.
    • Supports Transform and Rigidbody-based movement.
    • Supports surface and volume-based navigation.
  • Manual external links which can be turned on and off.
  • Greatly improved runtime performance of sampling NavVolumes.
  • Added a way to manually supply NavSampleResults to an agent when finding a path.
  • Added step-by-step visualization so you can see the volume data being built at each step.

Changed

  • Minimum Unity version changed to 2022.3.

Fixed

  • Fixed some cases where an agent could be stuck between two volumes and continuously re-path to the previous one.

[1.1.6] - 2023-6-21

Fixed

  • Fixed a case where SplinePath data was not disposed.

[1.1.5] - 2023-3-10

Fixed

  • Better prefab support for baked volumes.
    • Can now bake a volume in prefab mode.
    • Volumes that are prefab instances update their ID but do not unset their data reference.
    • Volumes baked in a prefab are stored in the prefab folder.

[1.1.4] - 2023-2-24

Added

  • Support for moving volumes and floating origin, including a new demo scene.
    • External link positions are now stored in local space, but previously generated world-space links will still function.
    • Individual volumes can auto-detect movement, or you can call NavVolume.UpdateAllTransforms for floating origin.

[1.1.3] - 2023-1-19

Added

  • New baking option EnableMultiQuery which fixes bake issues when VoxelSize is larger than MaxAgentRadius.
    • EnableMultiQuery is enabled by default and should be kept on unless you have a good reason to disable it.
    • Added a new visualization option that will show you what the query looks like while baking.

Fixed

  • Fixed a mesh simplification issue that led to "Did not find vertex to clip."
  • Fixed a region concavity issue that led to infinite bake time.

[1.1.2] - 2023-1-18

Fixed

  • Fixed errors due to volume native data not being correctly initialized when "Reload Scene" is disabled in the editor settings.
  • Fixed errors due to volumes being loaded or unloaded while a path is in progress.

[1.1.1] - 2022-12-14

Fixed

  • Fixed a NullReferenceException that occurred when baking multiple volumes that didn't have their data created yet.

[1.1.0] - 2022-11-22

Added

  • New avoidance system.
    • Avoidance can be used either on its own or with a NavAgent or SplineNavAgent.
    • Any object can be an obstacle that is avoided by agents.
    • Agents avoid obstacles as well as each other.
    • Uses the ORCA algorithm, adapted from the RVO2-3D library from University of North Carolina, which is licensed under Apache 2.0.
  • Added an option to help prevent spline paths from entering blocked regions by raycasting the tangents.
  • Added a button to bake all active NavVolumes at once.
  • SplineNavAgents can now get un-stuck by raycasting to see if they are stopped on blocking triangles.

Changed

  • Volume identifier now depends on the scene GUID, so a save-as can no longer cause volumes in two scenes to have the same ID.
    • This causes all volume IDs to change. Upon opening a scene with existing volumes, a prompt to migrate the IDs will appear.
  • SplinePath is now a struct and uses native data, no longer requiring managed memory allocations. This also means it's Burst-compatible.
  • Improved performance of spline projecting by using Burst.

Fixed

  • Fixed several cases where projecting on a spline path would be incorrect.

[1.0.0] - 2022-11-08

Added

  • Initial release, all files and documentation added.