I’m working on a game where the player can traverse through 3D and 2D. Because of this, the AI also needs to share the same behavior. However, to do this, I need to have a nav mesh bounds that is only affected by 3D obstacles and another that is only affected by 2D obstacles.
My plan was to update the 3D nav mesh bounds when the 3D obstacles are affected by navigation and set that to false before setting the equivalent variable in 2D obstacles to true. Finally, I would update the 2D nav mesh bounds.
I came across OnNavigationBoundsUpdated() but using it in C++ apparently requires Runtime Generation in the Project Settings to be set to Dynamic (which updates all the nav mesh bounds at once when any changes happen, like setting whether obstacles are affected by navigation.). It’s setting I am trying to avoid because I could potentially be updating over 300 obstacles in a span of a second.
Now, I am not asking for a solution. I am asking whether this is even possible. I can change my game’s design if it isn’t possible but due to my inexperience with Unreal C++ and Blueprints, it’s hard to know whether I should drop this idea or not.