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.
[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.