1,641 Commits over 608 Days - 0.11cph!
Fix tiger getting stuck when fleeing
Update stopping distances
Fix unnatural slowdown in some cases when path following
Add unitask assembly as dependency for tests
Fix some compile errors, delete copy of unitask
Unitask metas appeared only after opening editor, committing that
Use bitwise and for entity flag checks like on main
Refactor path following, fix issues with animals, slow down after root motion anims remain, isReachable inconsistent, swim speed not handled
Start breaking apart LimitedTurnNavAgent and moving its functionnality to the shared rust nav agent
Fix one of the logs not being prefixed correctly
Fix RebuildTilesInBounds not working on independant navmeshes
Postfix all navspace Vector3 variables with "NS" and worldspace with "WS", ideally they'd have different types to prevent user error but that's a first step while we still support the unity navmesh
When updatePosition is true, the nav agent will convert from nav space to world space before applying the position
Fix potential issue if we spawned an npc on a moving navmesh after it started moving
Setup tropical island 1 and ghostship 1 to use independant navmesh
Make command line debug navmesh tool pick the relevant independant navmesh instead of always the default one
Temp workaround force synchronous builds on moving navmesh, as right now the geometry queries use world space and they won't query the right spot
Remove all duplicated methods used for convenience that were forwarding to the main navmesh, agent now explicitely selects the navmesh they want to query
Reorder samplePosition arguments to be consistent with unity
Further unify APIs, the navmesh class itself is not the only one that cares about native API calls
FIx compile error, further api unification
Make everything go through the same code path instead of each calling the base API, to make it easier to apply changes in one place
Make recast API same as unity compatible API, remove implicit space transforms from recast api (will be in agent)
Add "canMove" field to independant navmesh (tropical islands don't move so don't need the overhead)
Make sure we always go through the agent for navmesh queries, never use the static queries, this allows us to perform the coordinate space change necessary for moving navmeshes
Make all queries check if they are in an independant navmesh volume before querying the main navmesh
Fix FindNavmeshesInBounds not working after movable navmesh moves away
Handle "moving" navmeshes (reprojecting from world space to navmesh space), allow debug visualizing them with the correct current transform not just their static version
Add debug drawing for cell coordinates and build status
First pass on disconnected navmeshes (eg tropical islands)
FIx isStopped incorrectly clearing path, path is cleared on disable instead
Fix potential nullref in SetDestination
Fix updateRotation not being used properly
Use private members instead of getters internally, to avoid unwanted redirection
Fixe Move not using correct navarea for raycast and sample
Better keep state of unity navmesh agent and custom navmesh agent in sync, fix offset being applied twice
Fix set path earlying out incorrectly when called from SetDestination
Use cleaner getter for agent
Fix path follower ticking twice per frame in editor
Prevent path leaking when agent is destroyed
Port tiger, panther, croc and naval scientists
Will need thorough testing
Remove GetCornersNonAlloc helpers and intermediate buffers
Revert recent changes to new NPCs pathfinding component, they don't need it with the new abstraction around NavMeshAgent and NavMeshPath
Port the new wolf as a test, works fine but unlike old NPCs does not support switching at runtime without throwing errors, to investigate
Port old oilrig scientists, just to check that monuments properly support switching navmesh back and forth, will port all other old scientists later
Port polar bear, boar, chicken and stag
Properly take into account "base offset" property use on chicken and stag
Route all references to unity navmesh to class with same API, to easily intercept and route requests to the correct navmesh depending on the convar
Converted bear to be able to switch between unity and custom navmesh at will, has yet to port other old and new animals as well as all humanoids
Budget the main thread part of navmesh building
Fix binary saving overwriting the beginning of the previous save but leaving without truncating the end