Commit Graph

265 Commits

Author SHA1 Message Date
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
danny couture
c23f6884fe Async Static Mesh Compilation / Loading
- Add protection against async property accessed during async build and postload.
   - Split PostLoad into 3 steps with the most part now being made async.
   - Make Build/BatchBuild API async when the feature is activated.
   - Add a new StaticMesh compilation manager. (This will be refactory later to reduce duplicated code with texture compiler).
   - Skip RenderState creation for any static mesh component still being built so they only show up when ready.
   - Fixed DistanceField and MeshCard computation that might trigger too soon if fixups are required to RenderData during PostLoad.
   - Dynamic priorisation for building and updating static meshes nearest to the viewport.
   - Implement different PIE modes, current default is to stall only for mesh that might affect nagivation/collision for players/bots.
   - Add a new generic interface for assets being built (still a WIP).
   - Add ability in FrontEnd filters to skip serialization of asset being async compiled and refresh when compilation finishes.
   - Prevent auto-save while textures and static meshes are being built (same as shaders)
   - Logic has been reordered in some Fortnite Building Component to avoid unnecessarily touching static mesh properties.

General Optimizations
   - Use cached thumbnails until shaders/textures/static meshes are ready to improve performance and avoid rendering incomplete thumbnails.

DEBUGGING
 - Can be forcibly enabled/disabled through command-line via -asyncstaticmeshcompilation=[off, on, paused]
 - Can pause staticmesh compilation using Editor.AsyncStaticMeshCompilation = 2 or -asyncstaticmeshcompilation=paused
 - Can manually resume a specified amount of paused compilation using Editor.AsyncStaticMeshCompilationResume [Num]
 - Can forcibly wait on all compilation using Editor.AsyncStaticMeshCompilationFlushAll

BENCHMARKS
 - 2m19s to 17.9s for Loading FortGPUTestbed's LumenTest with an empty local only DDC
 - 2h45m to 5mxxs for Loading Reverb's P_World with an empty local only DDC
 - 17m29 to 10m27s for Loading Apollo_Terrain_Edit with an empty local only DDC

TESTS
 - Loading maps from Reverb, Fortnite, ShooterGame, QAGame, FortGPUTestbed
 - Content browser interactions while still under heavy compilation
 - Importing with Datasmith / Dataprep
 - Working with the new Mesh Modeling Tool
 - Shutting down the editor while loading
 - Most of EngineTest Test Suite

REFERENCES
 - Design https://docs.google.com/document/d/1O4GI1G9AtQN6l0SaGFfXw0DyNhlLunLoEqne5INvxIQ
 - Documentation https://docs.google.com/document/d/1KCdFEMhhcsGwfgOisTVwlOwtsmEd7qbB0V6Tc39Gb10

#rb Francis.Hurteau

[CL 14688146 by danny couture in ue5-main branch]
2020-11-09 07:50:34 -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
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -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
Fred Kimberley
eb2edb9b69 Adding lightweight instances subsystem for gameplay objects.
Lightweight instances allow a low memory representation of objects. Instances can be converted into full actors when necessary. Actors can also be reduced down to light weight instances when the full representation is no longer needed.
Hit results now return a handle that may refer to either an actor or lightweight instance.

#rb Michael.Noland

[CL 14369221 by Fred Kimberley in ue5-main branch]
2020-09-22 15:55:19 -04:00
Arciel Rekman
3107db8c5f Remove unused fields - AI
#rb Mieszko.Zielinski, Mikko.Mononen
#review-14242486 @Mieszko.Zielinski
#jira none

[CL 14244678 by Arciel Rekman in ue5-main branch]
2020-09-02 10:46:19 -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
brooke hubert
48113fc77e Adding EditorFramework to build.cs files
#rnx
#Jira UE-96448
#rb chris.gagnon

[CL 14114839 by brooke hubert in ue5-main branch]
2020-08-14 13:24:16 -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
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -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
guillaume guay
5005c5b2c3 Adding FindMoveAlongSurface to find a nearby position on navmesh relative to another (faster than doing nav raycast)
[REVIEW] [at]maxime.mercier, [at]mikko.mononen
#rnx

#ROBOMERGE-SOURCE: CL 13114611 via CL 13114615 via CL 13114624 via CL 13114631
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13114637 by guillaume guay in Main branch]
2020-04-30 09:48:28 -04:00
aris theophanidis
c72074af71 RecastNavMesh -> Remove deprecated AgentMaxHeight
[REVIEW] [at]Yoan.StAmant
#rb Yoan.StAmant
#jira UE-92637
#rnx

#ROBOMERGE-SOURCE: CL 13114548 via CL 13114550 via CL 13114552 via CL 13114556
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13114559 by aris theophanidis in Main branch]
2020-04-30 09:37:54 -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
Arne Schober
61bf307e6e M - Rename the Octree to Octree2 in preparation to add a deprecation for the original class
#RB

[CL 12965782 by Arne Schober in Main branch]
2020-04-21 20:01:52 -04:00
arne schober
ad158c7a44 FNEM - Compile fix after merge
#ROBOMERGE-SOURCE: CL 12807437 via CL 12807585
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12807592 by arne schober in Main branch]
2020-04-15 11:31:23 -04:00
arne schober
c875be4fd4 FNEM - Better naming
#RB none

#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 12789290 via CL 12789324 via CL 12789325
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12789326 by arne schober in Main branch]
2020-04-15 01:18:48 -04:00
arne schober
78549560ed FNEM - More cache-friendly and faster Octree implementation.
Also changing the interface for better encapsulation by cutting the origial itterator concept and focusing on small subset of configurable itteration strategies instead.
#RB Andrew.Scheidecker, Yoan.StAmant

#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 12785392 via CL 12785681 via CL 12785682
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12786795 by arne schober in Main branch]
2020-04-14 16:59:52 -04:00
yoan stamant
005d59471e [NavSystemConfigOverride] Moved the config setup from PostLoad to PostRegisterAllComponents/PostUnregisterAllComponents for Editor worlds to cleanup a dependency in the WorldSettings. This solves a problem where a level could not be removed and was causing a Fatal Error. Override will not be applied during cooking to avoid creating navigation system.
#rnx
[at]maxime.mercier

#ROBOMERGE-SOURCE: CL 12779387 via CL 12779392 via CL 12779395
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782282 by yoan stamant in Main branch]
2020-04-14 13:32:55 -04:00
bob tellez
24f4766e05 Back out changelist 12674180. Cook errors/warnings
[FYI] Yoan.StAmant

#ROBOMERGE-SOURCE: CL 12679667 via CL 12679668 via CL 12679674
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12679684 by bob tellez in Main branch]
2020-04-08 17:07:43 -04:00
yoan stamant
7a96969af5 [NavSystemConfigOverride] Moved the config setup from PostLoad to PostRegisterAllComponents/PostUnregisterAllComponents for Editor worlds to cleanup a dependency in the WorldSettings. This solves a problem where a level could not be removed and was causing a Fatal Error.
#rnx
[at]mieszko.zielinski [at]maxime.mercier

#ROBOMERGE-SOURCE: CL 12674180 via CL 12674194 via CL 12674202
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12674217 by yoan stamant in Main branch]
2020-04-08 11:33:09 -04:00
ori cohen
22879e453d Remove chaos include guard macros
#rb none

#ROBOMERGE-SOURCE: CL 12672568 via CL 12672588 via CL 12672602 via CL 12672607
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12672626 by ori cohen in Main branch]
2020-04-08 10:19:29 -04:00