From 3c71dc99e0aac96348e4a74cb107ae4525fbc89c Mon Sep 17 00:00:00 2001 From: "Mr. Capybara" Date: Thu, 9 Nov 2023 14:08:01 -0400 Subject: [PATCH 1/3] Rebuild navigation after apply changes in Navigation asset --- Source/Engine/Navigation/Navigation.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/Engine/Navigation/Navigation.cpp b/Source/Engine/Navigation/Navigation.cpp index 8bc94eaaa..09e9b65ba 100644 --- a/Source/Engine/Navigation/Navigation.cpp +++ b/Source/Engine/Navigation/Navigation.cpp @@ -220,6 +220,12 @@ void NavigationSettings::Apply() #endif } } + + // Rebuild all navmeshs after apply changes on navigation + for (auto scene : Level::Scenes) + { + Navigation::BuildNavMesh(scene); + } } void NavigationSettings::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) From 2ae290491e4d56e036bab4c38823a29f7369028d Mon Sep 17 00:00:00 2001 From: "Mr. Capybara" Date: Thu, 9 Nov 2023 14:50:56 -0400 Subject: [PATCH 2/3] fix build --- Source/Engine/Navigation/Navigation.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Engine/Navigation/Navigation.cpp b/Source/Engine/Navigation/Navigation.cpp index 09e9b65ba..c224389f8 100644 --- a/Source/Engine/Navigation/Navigation.cpp +++ b/Source/Engine/Navigation/Navigation.cpp @@ -221,11 +221,13 @@ void NavigationSettings::Apply() } } +#if USE_EDITOR // Rebuild all navmeshs after apply changes on navigation for (auto scene : Level::Scenes) { Navigation::BuildNavMesh(scene); } +#endif } void NavigationSettings::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) From 626cde118bfee87d0a675cef27d72601499fe40d Mon Sep 17 00:00:00 2001 From: "Mr. Capybara" <79365912+RuanLucasGD@users.noreply.github.com> Date: Fri, 10 Nov 2023 09:45:46 -0300 Subject: [PATCH 3/3] Add verification to rebuild navigation --- Source/Engine/Navigation/Navigation.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Source/Engine/Navigation/Navigation.cpp b/Source/Engine/Navigation/Navigation.cpp index c224389f8..73e11e630 100644 --- a/Source/Engine/Navigation/Navigation.cpp +++ b/Source/Engine/Navigation/Navigation.cpp @@ -9,6 +9,8 @@ #include "Engine/Content/JsonAsset.h" #include "Engine/Threading/Threading.h" #if USE_EDITOR +#include "Editor/Editor.h" +#include "Editor/Managed/ManagedEditor.h" #include "Engine/Level/Level.h" #include "Engine/Level/Scene/Scene.h" #endif @@ -222,10 +224,13 @@ void NavigationSettings::Apply() } #if USE_EDITOR - // Rebuild all navmeshs after apply changes on navigation - for (auto scene : Level::Scenes) + if (!Editor::IsPlayMode && Editor::Managed && Editor::Managed->CanAutoBuildNavMesh()) { - Navigation::BuildNavMesh(scene); + // Rebuild all navmeshs after apply changes on navigation + for (auto scene : Level::Scenes) + { + Navigation::BuildNavMesh(scene); + } } #endif }