Upgraded this function to use the typed element selection set, which has combined actor and component selection, which removes the duplicate notify on the legacy bridge.
#Jira UE-190678
#rb jamie.dale logan.buchy
[CL 26490998 by brooke hubert in ue5-main branch]
In response to reports that copy/pasting actors during PIE causing crashes, copying and duplicating temporary actors has been disabled. This is a temporary measure until the copy/paste system during PIE be evaluated more closely.
#jira none
#rb aditya.ravichandran
[CL 26094847 by ronald koppers in ue5-main branch]
- UEditorLevelUtils::PrivateRemoveLevelFromWorld: Avoid Modify being called on actor components and dirtying packages on remove world
#rb richard.malo, jeanfrancois.dube
#preflight 645a79ef013f3751586b155b
#rnx
[CL 25395014 by patrick enfedaque in ue5-main branch]
The EditorStorage world type was introduced as MASS had a dependency on having a world, but none of the existing worlds could be made to work. This limitation has since been removed from MASS which means there's no current use for EditorStorage. To avoid adding additional maintenance and since EditorStorage was introduce within 5.2, it's now being removed before release. If a use case is found at a later time, this CL can be used to reintroduce EditorStorage.
#jira UE-180332
#rb Mieszko.Zielinski
#preflight 6419d4bb13231a282690c8b4
#lockdown jeanmichel.dignard
[CL 24739070 by ronald koppers in ue5-main branch]
The engine broadcasts undo/redo messages in UEditorEngine::BroadcastPostUndoRedo() to all registered FEditorUndoClient instances in a loop over a TSet<FEditorUndoClient*>. In the current code, if an FEditorUndoClient instance causes a registration with the undo system in either PostUndo() or PostRedo(), then the loop will never terminate, as a new element is added each iteration, causing an infinite loop.
This change opts to iterate over a copy of the TSet<FEditorUndoClient*> which therefore avoids the infinite loop without fundamentally restricting clients from unregistering/registering during the PostUndo()/PostRedo() calls.
#jira UE-177977
#10149
#preflight 6410a8b7924023147d43bd2d
[CL 24638980 by KasumiL5x in ue5-main branch]
#rb Matt.Peters
#jira UE-174329
#rnx
#preflight 63c95073ac35a0e9da7f2c30
- This replaces the solution to the same problem that was submitted in CL 21587137.
- Instead of trying to pass the need to regenerate the guids via FLinkerInstancingContext it is now done via ELoadFlags.
- The fix was originally added to FLinkerInstancingContext as a) at the time a similar fix had been made to instancing b) we felt it would be easier to remove in the future when we change how the guids are calculated making the need to regenerate moot. However this stopped working when 22635658 prevented the instancing context from being passed to objects not being instanced. The concept was a better fix for the flags so it has been moved there.
[CL 23787156 by paul chipchase in ue5-main branch]
- Port some editor only exec commands to Exec_Editor.
#rb none
#preflight 63c5a00dd040694ab814f875
[CL 23732860 by jeanmichel dignard in ue5-main branch]
The "EditorStorage" world is meant to be used to store data for the entire lifetime of the editor process. As such it's not destroyed when new levels are loaded and is meant to be constructed with minimal setup to avoid overhead. This new world type is currently used in the Typed Elements Data Storage which serves as the central database-like storage for the editor and is powered by MASS. The latter currently requires a world for interacting with the outside through subsystems and to be periodically ticked to make sure data remains consistent. The changes that make use of this will be submitted separately to keep this CL focused.
#rb Ben.Zeigler
#jira UE-171267
#preflight 638a816535192facc1dffbb5
[CL 23396289 by ronald koppers in ue5-main branch]
#rb Sebastian.Nordgren
#jira none
#preflight 636cd0eadc30a4ce964ccffb
- The size of the undo buffer being loaded from the config file is a int32, but UTransBuffer::Initialize takes a SIZE_T, this was causing unintended conversions. We now cast the int32 to SIZE_T before calculating the final total in bytes.
- Added some logging so the user has some way to verify how large their undo buffer size is.
[CL 23074652 by paul chipchase in ue5-main branch]
- Avoid calling RebuildAlteredBSP() on Copy/Paste operations so that Level doesn't get dirtied if pasted actors aren't static brushes
- RebuildModelFromBrushes always checks selection of Dynamic brushes before rebuilding them
#jira UE-169320
#rb richard.talbotwatkins
#preflight 636be83aed07daaa9a77492b
[CL 23071817 by patrick enfedaque in ue5-main branch]
Fixed recursive post loads not being tracked properly
Fixed time calculations for recursive scopes
Added support for load time tracing in the editor
Added time selection filtering to the requests tab
#rb ionut.matasaru
#preflight 635fa5cd1803be35c7ff3bc8
[CL 22858164 by CarlMagnus Nordin in ue5-main branch]
Change summary:
- Added FReplaceInstancesOfClassParameters::bReplaceReferencesToOldCDOs.
- Deprecated FBatchReplaceInstancesOfClassParameters, consolidated flags into FReplaceInstancesOfClassParameters.
- Deprecated FReplaceInstancesOfClassParameters::OldClass and NewClass and the ctor that took them as inputs - these are now consolidated into a single ReplaceInstancesOfClass() API that takes them as inputs along w/ the parameter struct.
- Consolidated/deprecated FBlueprintCompileReinstancer::ReplaceInstancesOfClass()/BatchReplaceInstancesOfClass() APIs; updated existing call sites to match.
- Modified ReplaceInstancesOfClass_Inner() to take params directly as input; also revised the block that handled CDO reference replacement to utilize the new flag instead.
- Added a few new checks/ensures to validate the "legacy" path when certain parameters are in use.
- Modified the FBlueprintCompilationManagerImpl::FlushReinstancingQueueImpl() signature to include a new option flag.
- Added EBlueprintCompileOptions::IncludeCDOInReferenceReplacement (new compiler flag).
- Modified FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl() to test for the new compiler flag and pass through to FlushReinstancingQueueImpl().
- Modified FBlueprintEditor::Compile() to set the new compiler flag when IsPlayInEditorActive() is true.
Notes:
- FReplaceInstancesOfClassParameters::bClassObjectReplaced is a legacy flag that was not currently in use outside of the old hot reload path; it remains in place for backwards-compatibility but I've added an ensure() to guard against it being used incorrectly outside of that context.
#jira UE-143731
#rb Dave.Jones2, Dan.OConnor
#preflight 63447e7ba502e110c762c17b
[CL 22483496 by Phillip Kavan in ue5-main branch]
This fixes cooking with EditorDomain, which can save the package multiple times and thereby call InitWorld/CleanupWorld multiple times.
#jira UE-164777
#rb Patrick.Enfedaque, JeanFrancois.Dube
#rnx
#preflight 63375a47f76de2d4d5cc8532
[CL 22281969 by Matt Peters in ue5-main branch]