Commit Graph

89 Commits

Author SHA1 Message Date
Aris Theophanidis
92006e5f77 Addition of OnNavigationInitDone delegate in UNavigationSystemBase
#jira UE-114032
#rb Mieszko.Zielinski
#robomerge 5.0
#preflight 619d01ed47752856c967eaaf

[CL 18270615 by Aris Theophanidis in ue5-main branch]
2021-11-23 10:56:25 -05:00
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
james keeling
8059f622f1 Fix Navigation System overzealously re-building DynamicModifiersOnly-type navigation data during OnWorldInitDone when AutoGenerateNavigationData is disabled. Re-factored the check for dynamic navmesh generation type to its own function and replaced the code in RebuildAll, CanRebuildDirtyNavigation, and OnWorldInitDone.
#jira UE-131764
#preflight 61688a1cc46ae60001d3c791
#rb Aris.Theophanidis, Mieszko.Zielinski

#ROBOMERGE-AUTHOR: james.keeling
#ROBOMERGE-SOURCE: CL 17828712 in //UE5/Release-5.0/... via CL 17828715
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17828720 by james keeling in ue5-release-engine-test branch]
2021-10-15 09:47:52 -04:00
aris theophanidis
309de56e39 [Navigation] Stop dirtying packages on any navigation generation finish.
That change was made to help with a user experience issue but it's causing more issues than benefit.
#rb Mieszko.Zielinski
#jira none
#preflight 615f06ef99e9f200016d630b

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17750059 in //UE5/Release-5.0/... via CL 17758030
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758252 by aris theophanidis in ue5-release-engine-test branch]
2021-10-07 22:25:02 -04:00
aris theophanidis
8b90d3b83a [World Partition Navmesh] Use iterative cell loading for building world partition static navmesh data
Include a fix in UWorldPartitionBuilder for IterativeCellOverlapSize not being applied to loaded bounds
#rb Yoan.StAmant
#jira UE-114032
#preflight 6155ce81549cbf0001d01f52

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17679211 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17679261 by aris theophanidis in ue5-release-engine-test branch]
2021-09-30 12:10:56 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
LIMITATIONS:

1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.

KNOWN ISSUES:

1) Changes to enumerations and structures will not be reflected in existing blueprints.  However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.

CHANGES:

1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.

2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API

3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.

Robert did the review on the changes covered by Part 2.  Remaining changes are all straightforward.

#rb robert.manuszewski
#jira UE-74493

[CL 15736777 by Tim Smith in ue5-main branch]
2021-03-18 08:13:59 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Aris Theophanidis
761fe05bad [Navigation WP] Properly using the vertical bounds of the collected tiles as the NavigationDataChunkActor bounds
#review @Yoan.StAmant
#rb Yoan.StAmant
#fyi Richard.Malo, JeanFrancois.Dube
#jira none

[CL 14641645 by Aris Theophanidis in ue5-main branch]
2020-11-03 10:20:13 -04:00
Aris Theophanidis
a21499c9a0 [Navigation WP] First pass to generate per cell navigation data and allow navmesh streaming using world partitioning
Addition of ANavigationDataChunkActor, external actors used to hold navdata chunks
Addition of UWorldPartitionBuildNavigationDataCommandlet, commandlet to generate world partition navigation data
At the moment steps to generate a partitioned world with navmesh per cell are:
1) convert world to WP (WorldPartitionConvertCommandlet)
2) generate navigation data chunk actors (WorldPartitionBuildNavigationDataCommandlet)
3) pre cook (WorldPartitionPreCookCommandlet)
4) cook
#review @Yoan.StAmant
#rb Yoan.StAmant

[CL 14396364 by Aris Theophanidis in ue5-main branch]
2020-09-25 11:19:08 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Arne Schober
ee6d0ecb20 M - More renameing the Octree to Octree2 in preparation to add a deprecation for the original class
#RB

[CL 12972489 by Arne Schober in Main branch]
2020-04-21 23:23:12 -04:00
yoan stamant
6091b693a7 [NavigationSystem] Extracted methods from SpawnMissingNavigationData to be able to setup navigation data per ULevel.
#rnx
[at]aris.theophanidis [at]maxime.mercier
#rb aris.theophanidis maxime.mercier

#ROBOMERGE-SOURCE: CL 12653185 via CL 12653192 via CL 12653196
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12653198 by yoan stamant in Main branch]
2020-04-07 09:30:28 -04:00
maxime mercier
50843beca6 Support lazy gathering on child of octree nodes
[at]yoan.stamant [at]stephen.holmes
#rnx

#ROBOMERGE-SOURCE: CL 12486785 via CL 12486790 via CL 12486791 via CL 12486793
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12487596 by maxime mercier in Main branch]
2020-03-30 12:13:52 -04:00
yoan stamant
40b391d62a [Asynchronous Pathfind Queries]
- Added synchronization between the async pathfind queries task and the game thread. The sync point is implemented in OnWorldPostActorTick. This prevents pathfind requests from running at the same time as Navmesh generation tasks or beyond the engine frame boundary.
- Replaced task to broadcast async pathfinding results by a queue that will be flushed by the NavigationSystem udpate. This prevents tasks from being started during loading or other undesired locations.
- Replaced task to register new active path instance by a lock to make sure all paths are registered for potential invalidation before adding a generated tile on the main thread.

#jira UE-71960
#jira UE-85440
[at]aris.theophanidis [at]maxime.mercier
#rb aris.theophanidis maxime.mercier


#ROBOMERGE-SOURCE: CL 12368557 via CL 12368564
#ROBOMERGE-BOT: (v671-12333473)

[CL 12370954 by yoan stamant in Main branch]
2020-03-23 11:01:36 -04:00
robert manuszewski
b7568cc694 Fix for UE-90683: You can no longer delete conflicting variables
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.

#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)

[CL 12191300 by robert manuszewski in Main branch]
2020-03-15 10:33:45 -04:00
stephen holmes
d46374bce0 Work to Deprecate IsNavigationBuildInProgress(bool) and IsBuildInProgress(bool). These functions behave inconsistently between different navmesh build types and were causing issues. Not only that but their default params were set opposite ways (true / false).
[at]Yoan.StAmant [at]Mieszko.Zielinski [at]Maxime.Mercier [at]David.Hamm


#ROBOMERGE-SOURCE: CL 12126550 via CL 12132795
#ROBOMERGE-BOT: (v659-12123632)

[CL 12132919 by stephen holmes in Main branch]
2020-03-11 13:01:04 -04:00
stephen holmes
9545c6f32c Minor changes to previous CLfor moving tile regen time slice management logic to navigation system as suggested by Aris https://p4-swarm.epicgames.net/reviews/11589014/
#rb Aris.Theophanidis


#ROBOMERGE-SOURCE: CL 11871398 via CL 11871432
#ROBOMERGE-BOT: (v656-11643781)

[CL 11886277 by stephen holmes in Main branch]
2020-03-03 16:27:08 -05:00
aris theophanidis
fff13a7e88 Resubmit 11644253 with missing include for non-unity build
Adding bMaskFillCollisionUnderneathForNavmesh option on NavModifierVolume to go along bFillCollisionUnderneathForNavmesh.
This allows navvolumes to mark a 2D areas to be ignored by the fill under feature.
[at]Mieszko.Zielinski [at]Mikko.Mononen
#jira UE-86726


#ROBOMERGE-SOURCE: CL 11650044 via CL 11650049 via CL 11650055
#ROBOMERGE-BOT: (v656-11643781)

[CL 11861821 by aris theophanidis in Main branch]
2020-03-03 08:48:03 -05:00
brandon grable
c16fec26e8 Back out changelist 11644253
[FYI] Aris.Theophanidis


#ROBOMERGE-SOURCE: CL 11645547 via CL 11645548 via CL 11645552
#ROBOMERGE-BOT: (v656-11643781)

[CL 11837531 by brandon grable in Main branch]
2020-03-02 13:50:21 -05:00
aris theophanidis
66f8eeaf19 Addition bMaskFillCollisionUnderneathForNavmesh option on NavModifierVolume to go along bFillCollisionUnderneathForNavmesh.
This allows navvolumes to mark a 2D areas to be ignored by the fill under feature.
[REVIEW] [at]Mieszko.Zielinski [at]Mikko.Mononen
#jira UE-86726


#ROBOMERGE-SOURCE: CL 11644253 via CL 11644264 via CL 11644271
#ROBOMERGE-BOT: (v656-11643781)

[CL 11836158 by aris theophanidis in Main branch]
2020-03-02 13:42:26 -05:00