Commit Graph

426 Commits

Author SHA1 Message Date
mihnea balta
8b46b24b35 Don't force-flush render resources from UEditorEngine::Tick when PIE is running.
If realtime was disabled, the force-flush was happening even when PIE was active, which cost a lot of performance.

#jira UE-144517
#rnx
#lockdown Cristina.Riveron
#rb Jeannoe.Morissette
#preflight 622768a6e83598518f2e8268

#ROBOMERGE-AUTHOR: mihnea.balta
#ROBOMERGE-SOURCE: CL 19302848 in //UE5/Release-5.0/... via CL 19303931
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19346857 by mihnea balta in ue5-main branch]
2022-03-10 20:49:18 -05:00
patrick enfedaque
3387b5b97c CleanupPhysicsSceneThatWasInitializedForSave: Bring back CleanupWorld call to pre CL 16574665.
- Fix crash because of Subsystem Init call done through InitializePhysicsSceneForSaveIfNecessary not being matched with Deinit in CleanupPhysicsSceneThatWasInitializedForSave.
  This was delaying it to StaticExit() IncrementalPurgeGarbage causing some Subsystem objects to become invalid before the FSubsystemCollectionBase that contained them.
- Original change no longer necessary because CleanupWorldPartition is no longer called from within CleanupLevel

#jira UE-143535
#preflight 6217743b335015645d962f36
#rb matt.peters
#lockdown aurel.cordonnier
#rnx

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 19114405 in //UE5/Release-5.0/... via CL 19114673
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19152884 by patrick enfedaque in ue5-main branch]
2022-02-25 14:20:29 -05:00
Dan Thompson
d412b366a3 Adding support to writing platform specific tags to the asset registry during cook by the book.
FArchive now holds a "CookData" blob that contains relevant information for cooking. The TargetPlatform has been moved to this structure, and it has a reference to a CookContext that can hold data generated during the cook that doesn't get serialized to the uasset (in this case, the asset registry tags).
#rb Matt.Peters
#preflight 62151bc4797dbbeb472af77d
#preflight 621011f6ff52bfecfc032b15
#preflight 62152777141b500e17eb24ef

[CL 19076066 by Dan Thompson in ue5-main branch]
2022-02-22 13:32:02 -05:00
florin pascu
182d4743f3 Allow feature levels that do not work with Ray tracing to still be active in editor when Ray Tracing is turned on for the project.
#rb Jack.Porter
#jira UE-106873
#preflight 620a54f06e5d06a5428d512e
#lockdown Jack.Porter

#ROBOMERGE-AUTHOR: florin.pascu
#ROBOMERGE-SOURCE: CL 18979622 in //UE5/Release-5.0/... via CL 18979686 via CL 18979777
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18979784 by florin pascu in ue5-main branch]
2022-02-14 10:44:18 -05:00
daren cheng
0eb73b32d2 Fix editor throttling while VR headset attached.
#jira UE-139058
#preflight 620576a26d374b98b094d868
#rb Matt.Kuhlenschmidt
#lockdown JeanMichel.Dignard

#ROBOMERGE-OWNER: daren.cheng
#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 18952596 in //UE5/Release-5.0/... via CL 18952719 via CL 18952885
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
#ROBOMERGE-CONFLICT from-shelf

[CL 18952956 by daren cheng in ue5-main branch]
2022-02-11 11:06:44 -05:00
Robert Manuszewski
0806c88f60 Terminating PIE will no longer assert when PendingKill is disabled and level leaks are detected. Added an ensure when reporting level leaks through UEngine::FindAndPrintStaleReferencesToObject() with PendingKill disabled.
#preflight 62066f7754003c49ad37ea0a
#rb Markus.Breyer

[CL 18951753 by Robert Manuszewski in ue5-main branch]
2022-02-11 09:28:34 -05:00
Robb Surridge
65a3c1236d Move IntroTutorials to a plugin. Part 1: move code module and clean up references.
#jira 141830
#preflight 6202f3e4bd4f846436f1dfc6
#rb lauren.barnes

[CL 18920903 by Robb Surridge in ue5-main branch]
2022-02-09 13:00:06 -05:00
Jason Nadro
135472bdb0 Adding functionality to compile remaining shaders for materials.
When running with ODSC in the editor Materials can have incomplete or partial shader maps.  In other words some shaders _might_ be missing.  If a render system requires all shaders to be present and can't use ODSC functionality to compile the necessary shaders we need a mechanism for compiling just the missing shaders.

- Added UMaterialInterface::CacheShaders() which is implemented for UMatetrial and UMaterialInstance.  The call is just forwarded along to CacheResourceShadersForRendering and InitStaticPermutation respectively.
- You can call CacheResourceShadersForRendering multiple times (even with a completed shader map) and it will not recache uniform expressions.  If the Resource's shader map is complete the function is a no-op.
- FObjectCacheContext can accept a UWorld and will only return primitives that are in that world.
- Added a function SubmitRemainingJobsForWorld(UWorld* World, EMaterialShaderPrecompileMode CompileMode) that will iterate all materials used by primitives in the world and compile the missing shaders.
- SubmitRemainingJobsForWorld() is used in various scenarios in the editor to ensure _all_ shaders are compiled for all materials before proceeding.
- Explicitly try to compile UI and PP materials.  Since we don't know which ones are used in the given world we just have to iterate all loaded ones.  This is a potential area of optimization.
- If there are already complete shader maps (if you are not running with the shader job cache), SubmitRemainingJobsForWorld is fast and results in a no-op for each material.

#rb Arciel.Rekman, Danny.Couture
#jira UE-136442, UE-136447
#preflight 61fc0e9c176256ec4f764206

[CL 18848560 by Jason Nadro in ue5-main branch]
2022-02-03 15:12:58 -05:00
bart hawthorne
7a1d76f765 Re-enable delegate calling in EEditorEngine::ShouldThrottleCPUUsage and reverse the action taken by Execute to make better sense with the delegate name
#rb rex.hill, eric.knapik
#preflight skip

#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 18812401 via CL 18812454 via CL 18817739 via CL 18817828 via CL 18817908 via CL 18835213 via CL 18835916
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18835946 by bart hawthorne in ue5-main branch]
2022-02-02 18:05:04 -05:00
Matt Kuhlenschmidt
521b360c9e Do not throttle cpu usage when benchmarking or automation testing
#rb none
#preflight none

[CL 18829200 by Matt Kuhlenschmidt in ue5-main branch]
2022-02-02 12:26:29 -05:00
patrick enfedaque
e6b2f88b02 Volume Factories: Avoid creating incompatible VolumeFactoryClass <-> VolumeClass pairings
#jira UE-140464
#rb brooke.hubert
#lockdown cristina.riveron
#preflight 61fa88e6cc4b837d9c5d1bba

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 18825947 in //UE5/Release-5.0/... via CL 18825951 via CL 18826477
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18826510 by patrick enfedaque in ue5-main branch]
2022-02-02 10:02:32 -05:00
eric knapik
e594ecc77a #jira: none
Fix CIS issue by commenting out delegate check causing a shared null ptr

[FYI] Bart.Hawthorne

#ROBOMERGE-AUTHOR: eric.knapik
#ROBOMERGE-SOURCE: CL 18804257 via CL 18804284 via CL 18805456 via CL 18805468 via CL 18805484 via CL 18820373 via CL 18822932
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18825091 by eric knapik in ue5-main branch]
2022-02-02 08:21:22 -05:00
marc audy
0a9b5e3694 Add an array of callbacks that can be used to disable CPU throttling for the editor when it doesn't have focus.
#rb rex.hill
#preflight

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: bart.hawthorne
#ROBOMERGE-SOURCE: CL 18796580 via CL 18797225 via CL 18803393 via CL 18803463 via CL 18803497 via CL 18820342 via CL 18822926
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18825084 by marc audy in ue5-main branch]
2022-02-02 08:20:57 -05:00
robert manuszewski
e09ed3d15c Downgrading level leak asserts to errors when PendingKill is disabled
#preflight 61f8fb42a6632a34f36b27a6
#rb trivial

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 18806425 in //UE5/Release-5.0/... via CL 18808533 via CL 18821794
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18822162 by robert manuszewski in ue5-main branch]
2022-02-02 02:21:50 -05:00
jeannoe morissette
44201c1824 Make sure RHI resources are flushed even when nothing is rendered to prevent leak in RHI (D3D12/Vulkan) when Realtime is turned off in Editor.
#jira UE-134436
#rb Mihnea.Balta
#preflight 61f85063a6632a34f3552a38

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 18797589 in //UE5/Release-5.0/... via CL 18799659 via CL 18799967
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18800016 by jeannoe morissette in ue5-main branch]
2022-01-31 17:45:06 -05:00
josie yang
07aba30e23 Unpause rendering world when a single frame is advanced or toggling between PIE & SIE. It fixes motion blur artifacts when single stepping in PIE.
#jira UE-136858
#rb Guillaume.Abadie
#preflight 61f414dbf628752a568c42b3

#ROBOMERGE-AUTHOR: josie.yang
#ROBOMERGE-SOURCE: CL 18772592 in //UE5/Release-5.0/... via CL 18772612 via CL 18773040
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18773060 by josie yang in ue5-main branch]
2022-01-28 12:12:11 -05:00
patrick enfedaque
e53cc4aa19 ContentBrowser: Better support for Delete/Copy/Rename operations on World Partition worlds
- FScopedLoadAllExternalObjects object that can be used to force the loading of all external actors of a WP world to allow those operations to succeed. (for larger worlds commandlet should be used)
- ContentBrowser operation like: Delete, Duplicate, Rename, Move, Copy use this new scope
- World Partition worlds are no longer loaded on right-click context menu.
- Note: change was done with explicit scopes to only address specific use cases and limit the impact of this CL. It could become a default behavior in later versions.

#jira UE-140032, UE-114002

#rb richard.malo, jeanfrancois.dube, rex.hill
#preflight 61f2b479800734b52da816b4

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 18753910 in //UE5/Release-5.0/... via CL 18753926 via CL 18756993
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18757308 by patrick enfedaque in ue5-main branch]
2022-01-27 14:11:04 -05:00
matija kecman
fb5fe6c8cb UnrealEd: Fix error when converting brush actors to static mesh actors. Partially addresses jira UE-137902
#rnx
#rb semion.piskarev
#preflight 61ee7f055e0414e6ec0d5ad5
#jira UE-137902

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 18706985 in //UE5/Release-5.0/... via CL 18706990 via CL 18707054
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18707057 by matija kecman in ue5-main branch]
2022-01-24 06:32:59 -05:00
graham wihlidal
1e25eba919 Initial implementation of Nanite Tools editor plugin, including an audit flow to find Nanite meshes with errors, and non-Nanite meshes that could be converted safely to Nanite. Actual material check to properly categorize error and optimize are coming after this submit.
#preflight 61e76162b56c33b8ec006d2d
#rb matt.kuhlenschmidt
[FYI] brian.karis, rune.stubbe, michal.valient
#jira UE-132980

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18653646 in //UE5/Release-5.0/... via CL 18653651 via CL 18653653
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18653657 by graham wihlidal in ue5-main branch]
2022-01-18 20:34:42 -05:00
jerome delattre
74ae69a479 When running automated test, initiate start location of PIE when there is no Player Start actor in the map
#jira UE-138226
#rnx
#preflight 61e1f5d86462b347f4ca4dad
#rb Chris.Constantinescu

#ROBOMERGE-AUTHOR: jerome.delattre
#ROBOMERGE-SOURCE: CL 18632766 in //UE5/Release-5.0/... via CL 18633042 via CL 18633051
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637359 by jerome delattre in ue5-main branch]
2022-01-18 04:29:22 -05:00
patrick enfedaque
669bd1afbe Fix crash when renaming level
#rb richard.malo
#preflight skip

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 18601783 in //UE5/Release-5.0/... via CL 18601861 via CL 18601885
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18601910 by patrick enfedaque in ue5-main branch]
2022-01-13 14:37:21 -05:00
sebastien lussier
6996a493cc WorldPartitionHLODUtilities is now an editor plugin
* Enabled by default
* Solve issue where HLOD layer assets could be loaded without their associated builder settings base class being known, resulting in null objects
#rb luc.eygasier
#preflight 61ddf99cc25f6c16f20fedbf
#jira none

#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 18584312 in //UE5/Release-5.0/... via CL 18584317 via CL 18584342
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18584376 by sebastien lussier in ue5-main branch]
2022-01-12 10:28:24 -05:00
wei liu
7c51b64197 Fix a bug that the brightness of the reflectioncapture couldn't be changed at runtime on mobile.
#jira none

#rb Dmitriy.Dyomin, Florin.Pascu
#preflight 61dcfae44455f00ccd346956

#ROBOMERGE-AUTHOR: wei.liu
#ROBOMERGE-SOURCE: CL 18571078 in //UE5/Release-5.0/... via CL 18571095
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18571097 by wei liu in ue5-release-engine-test branch]
2022-01-11 08:56:26 -05:00
paul chipchase
24f37d02dd Prevent packages being saved to the editor domain from being added to the list of potential files to add to source control.
#rb Matt.Peters
#rnx
#preflight 61d84996932a02483ce0f245

- When a package was being saved for the editor domain,it was being pushed to the list of files that should be added to source control with the filename "EditorDomainPackageWriter" and when that list of files was processed (if the editor had source control enabled) it would result in a number of errors being written to the log as the source control provider would fail to add multiple instances of the file "EditorDomainPackageWriter"

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18543702 in //UE5/Release-5.0/... via CL 18543730
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18543744 by paul chipchase in ue5-release-engine-test branch]
2022-01-07 10:10:17 -05:00
richard malo
481f65fe16 New Actor Folders objects.
- When enabled, folders are actual objects : modifying a folder won't affect actors (more compliant with OFPA).
- Enabled by default for World Partition and Level Instances.
- Can be enabled on regular levels (experimental feature 'Use Actor Folder Objects').
- If Level uses OFPA, ActorFolders will also be saved in their own package (but will use __ExternalObjects__ root folder).
- In a future refactoring, external actors will also be moved in the same root folder.
- Generalized saving object in an external package (different from its outer package)
- World outliner supports old folders and new actor folder objects : Levels using the actor folder objects will show a root Level node (like Level Instances).
#rb patrick.enfedaque, jeanfrancois.dube
#preflight 61d84b356511bc498e5cb858

#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 18543443 in //UE5/Release-5.0/... via CL 18543482
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18543525 by richard malo in ue5-release-engine-test branch]
2022-01-07 10:01:19 -05:00