From 265fa26d01077b4db1fc4819e3edbf0073add4be Mon Sep 17 00:00:00 2001 From: Extrys Date: Sun, 3 Jan 2021 22:31:53 +0100 Subject: [PATCH] Performance improvement for large scenes Now the removal of obstacles and agents when processing the navMeshBuildSource list has improved a lot for scenes with high density of GameObjects --- Assets/NavMeshComponents/Scripts/NavMeshSurface.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Assets/NavMeshComponents/Scripts/NavMeshSurface.cs b/Assets/NavMeshComponents/Scripts/NavMeshSurface.cs index 9fd7dab4..e7f6cfbe 100644 --- a/Assets/NavMeshComponents/Scripts/NavMeshSurface.cs +++ b/Assets/NavMeshComponents/Scripts/NavMeshSurface.cs @@ -341,10 +341,11 @@ List CollectSources() } if (m_IgnoreNavMeshAgent) - sources.RemoveAll((x) => (x.component != null && x.component.gameObject.GetComponent() != null)); + sources.RemoveAll((x) => x.component != null && x.component is NavMeshAgent); + + if (m_IgnoreNavMeshObstacle) + sources.RemoveAll((x) => x.component != null && x.component is NavMeshObstacle); - if (m_IgnoreNavMeshObstacle) - sources.RemoveAll((x) => (x.component != null && x.component.gameObject.GetComponent() != null)); AppendModifierVolumes(ref sources);