- Added navigation system config 'bGenerateNavDataWhenNoCompatibleNavBound". When set to TRUE (default) it will still generate navigation data if any NavBoundVolume is compatible with its NavDataConfig, if false it gets rid of that navigation data;
- Make sure that when "bSpawnNavDataInNavBoundsLevel" is TRUE, it builds the navigation data in the first level containing a NavBoundVolume that actually supports this navigation data config (not any first one);
- Added virtual method on NavigateSystem "OnNavSystemOverriden" to give a chance to inspect previous NavigationSystem when getting overriden by a nav config override;
- Added some missing NavigationSystem clean up logic.
#tests client/server standalone Creative AI, Phoebe and regular + editor
#cr maxime.mercier
[FYI] mieszko.zielinski, stephen.holmes, yoan.stamant
#ROBOMERGE-OWNER: guillaume.guay
#ROBOMERGE-AUTHOR: guillaume.guay
#ROBOMERGE-SOURCE: CL 7679442 via CL 7679443 via CL 7688466
#ROBOMERGE-BOT: (v383-7686620)
[CL 7688470 by guillaume guay in Main branch]
As part of the process I've deprecated essentially unused ARecastNavMesh.AgentMaxHeight and removed the code accessing it.
[at]Yoan.StAmant
#rb Yoan.StAmant
#ROBOMERGE-SOURCE: CL 7249093 via CL 7262675
#ROBOMERGE-BOT: (v369-7254125)
[CL 7262737 by mieszko zielinski in Main branch]
It used to Reserve rather than Empty which in edge cases left the array at undesided state/size.
#jira UE-76279
Yoan.StAmant
#rb Yoan.StAmant
#ROBOMERGE-SOURCE: CL 7061952 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)
[CL 7061953 by mieszko zielinski in Main branch]
Also, made sure we release the faultu dtNavMesh instance if we're not going to use it.
#jira UE-71027
#review-6676106 @Yoan.StAmant
#rb Yoan.StAmant
[CL 6676722 by Mieszko Zielinski in Dev-Framework branch]
While at it had to mess around with RegastNavMeshGenerator's initialization - the old way in some cases resulted in overriding once configured properties or needless dtNavMesh instance recreation.
In the process I've removed the Generator->Init() call from ARecastNavMesh::ConditionalConstructGenerator since now we call Init as part of generator's construction.
#jira UE-74448
#review-6533131 Yoan.StAmant
#rb Yoan.StAmant
[CL 6604191 by Mieszko Zielinski in Dev-Framework branch]
- Added support for compression plugins
- Removed the Custom compression concept, now using plugins properly
- Modified UnrealPak to use FNames, and allow for multiple compression methods (fallbacks on error or unavailability, etc)
- Added project settings for compression method selection for UnrealPak, and additional settings to be passed to UnrealPak (for instance, to control compression size/speed, etc)
- Deprecated a bunch of old function calls
- Improved pak file "old format" reading ability
- Brought over some changes from Fortnite for pak file encryption and memory savings
- Implemented a parallel compression pull request (#4129) to speed up pak file compression
#jira UE-51294
#rb ben.marsh
[CL 4480944 by Josh Adams in Dev-Core branch]